- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Google 发布了适用于 Google 的 YouTube API。在那个 api 中是一个 YouTubeThumbnailView 来显示电影的缩略图。我想在 ListView 中显示缩略图。我做了一个适配器来制作 View 。但我不确定如何处理。
在我的 ListView 适配器的 getView 中,我膨胀了一个包含 YouTubeThumbnailView 的布局。根据文档 (https://developers.google.com/youtube/android/player/reference/com/google/android/youtube/player/YouTubeThumbnailView),我应该调用初始化方法。
我想知道我是否需要调用一次初始化方法,或者如果 View 被 ListView 重新使用也调用此方法?没有办法检查 YouTubeThumbnailView 是否已经初始化?所以我想我应该多次调用它。但我不知道这是否被允许?
最佳答案
您应该只调用它一次,但在初始化后保存对加载程序的引用。处理此问题的一种方法是保留从 View
到 YouTubeThumbnailLoader
的映射。在getView
中,有3种情况:
在情况 1 和情况 3 中,您需要记住加载程序在初始化时应该做什么。你可以例如将视频 ID 保存在 View 的标签中。
示例代码:
Map<View, YouTubeThumbnailLoader> loaders;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
String videoId = getVideoId(position);
if (view == null) {
// Case 1 - We need to initialize the loader
view = inflater.inflate(..., parent, false);
YouTubeThumbnailView thumbnail = (YouTubeThumbnailView) view.findViewById(R.id.thumbnail);
thumbnail.setTag(videoId);
thumbnail.initialize(DeveloperKey.DEVELOPER_KEY, thumbnailListener);
} else {
YouTubeThumbnailView thumbnail = (YouTubeThumbnailView) view.findViewById(R.id.thumbnail);
YouTubeThumbnailLoader loader = loaders.get(thumbnail);
if (loader == null) {
// Case 3 - The loader is currently initializing
thumbnail.setTag(videoId);
} else {
// Case 2 - The loader is already initialized
thumbnail.setImageResource(R.drawable.loading_thumbnail);
loader.setVideo(videoId);
}
}
return view;
}
在你的 thumbnailListener 中:
@Override
public void onInitializationSuccess(YouTubeThumbnailView view, YouTubeThumbnailLoader loader) {
String videoId = (String) view.getTag();
loaders.put(view, loader);
view.setImageResource(R.drawable.loading_thumbnail);
loader.setVideo(videoId);
}
关于android - ListView 中的 YouTubeThumbnailView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14046926/
我正在尝试使用 YouTubeThumbnailView 为一系列 YouTube 视频设置多个缩略图。问题是相同的缩略图重复了一遍,所以我正在寻找一个如何实现这一点的例子。 我试图用谷歌搜索这个问题
Google 发布了适用于 Google 的 YouTube API。在那个 api 中是一个 YouTubeThumbnailView 来显示电影的缩略图。我想在 ListView 中显示缩略图。我
我已经毫无问题地实现了 youtubeThumnailView。 目前我的缩略图 View 在 Android 手机上看起来像这样: 但是我如何在缩略图 View 上添加一个播放按钮,就像这样http
我真的需要一些帮助来解决我在从一个 Activity 切换到另一个 Activity 时遇到的泄漏。我正在尝试使用 YouTube Android API,我将播放列表加载到一些可点击的缩略图中,然后
本文整理了Java中com.google.android.youtube.player.YouTubeThumbnailView.setLayoutParams()方法的一些代码示例,展示了YouTu
本文整理了Java中com.google.android.youtube.player.YouTubeThumbnailView.setImageBitmap()方法的一些代码示例,展示了YouTub
本文整理了Java中com.google.android.youtube.player.YouTubeThumbnailView.getLayoutParams()方法的一些代码示例,展示了YouTu
本文整理了Java中com.google.android.youtube.player.YouTubeThumbnailView.initialize()方法的一些代码示例,展示了YouTubeThu
这是在 ViewPager 中使用的 fragment 。它正在显示 youtube 视频。 但是我遇到了泄露的错误。如何在 YouTubeThumbnailView 上传递应用程序上下文?。一些用户
我在我的 android 应用程序中使用 youtube api 在我的 RecyclerView 中加载视频的缩略图。以下是我在我的适配器中的实现: private final Map thumbn
我是一名优秀的程序员,十分优秀!