【发布时间】:2018-06-20 03:40:43
【问题描述】:
让我们看下面的例子。
在这里我可以在 imageView 中看到 youTubeThumbnailView1 的缩略图。
我在代码中包含了一些问题作为 cmets 的一部分。
一开始我以为我可以创建一个 ImageView 的 ArrayList 并在其中获取所有缩略图,但这不起作用,因为我什至无法访问该方法之外的 imageView。
感谢任何帮助。
public class MainActivity extends YouTubeBaseActivity implements YouTubeThumbnailView.OnInitializedListener {
private YouTubeThumbnailView youTubeThumbnailView1;
//private YouTubeThumbnailLoader youTubeThumbnailLoader;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
youTubeThumbnailView1 = (YouTubeThumbnailView) findViewById(R.id.youtubeThumbnailView1);
imageView = (ImageView) findViewById(R.id.imageView);
youTubeThumbnailView1.initialize(DeveloperKey.DEVELOPER_KEY, this);
//Accessing imageView here would give NullPointerException
}
@Override
public void onInitializationSuccess(YouTubeThumbnailView youTubeThumbnailView, YouTubeThumbnailLoader youTubeThumbnailLoader) {
//this.youTubeThumbnailLoader = youTubeThumbnailLoader; for calling next() etc. in onThumbnailLoader(,)
youTubeThumbnailLoader.setOnThumbnailLoadedListener(new ThumbnailListener());
youTubeThumbnailLoader.setPlaylist("ECAE6B03CA849AD332",1);
//How to call release() on the youTubeThumbnailLoader parameter as it causes ServiceConnectionLeaked after exiting the app. But if you call it here nothing works.
}
@Override
public void onInitializationFailure(YouTubeThumbnailView youTubeThumbnailView, YouTubeInitializationResult youTubeInitializationResult) {
}
private class ThumbnailListener implements YouTubeThumbnailLoader.OnThumbnailLoadedListener{
@Override
public void onThumbnailLoaded(YouTubeThumbnailView youTubeThumbnailView, String s) {
imageView.setImageDrawable(youTubeThumbnailView.getDrawable());
/*How can i access this imageView outside of this method?
Using something like below will show all the thumbnails BUT how do you access them outside of this method?
if (youTubeThumbnailLoader.hasNext()) {
youTubeThumbnailLoader.next();
} else {
youTubeThumbnailLoader.first();
}
*/
}
@Override
public void onThumbnailError(YouTubeThumbnailView youTubeThumbnailView, YouTubeThumbnailLoader.ErrorReason errorReason) {
}
}
}
【问题讨论】:
标签: java android youtube-api clone android-youtube-api