我正在使用Youtube Player API for Android来播放视频,通过在listview
中选择其中一个视频(视频是通过解析json等方式获取的)。问题出现在当我只能播放我选择的listview
中的第一个视频时,因为当我在listView中的不同元素上单击时,播放器视图不会更改。以下是重要代码:
lista.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> pariente, View view,
int posicion, long id) {
Video chosen = (Video)pariente.getItemAtPosition(posicion);
String urlVideo = chosen.getUrl();
String aux = getYoutubeVideoId(urlVideo);
URL_VIDEO = aux;
youTubeView.initialize(KEY_DEVELOPER, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationFailure(Provider arg0,
YouTubeInitializationResult arg1) {
// TODO Auto-generated method stub
Log.d("DEPURANDO: ERROR AL VISUALIZAR", URL_VIDEO);
}
@Override
public void onInitializationSuccess(Provider arg0,
YouTubePlayer player, boolean wasRestored) {
// TODO Auto-generated method stub
if(!wasRestored){
Log.d("YOUTUBE", "URL: " + URL_VIDEO);
player.cueVideo(URL_VIDEO);
}
}
});
}
我理解问题是由于播放器不能被初始化两次,所以执行仅进入OnInitializationSucess
一次(我进行了测试),因此仅播放第一个视频。如何解决这个问题?