我有一个活动,其中一个片段中有 2 或 3 个片段我想在回收站视图中显示 Youtube 视频我尝试过的是
1.
当我尝试访问位于 recyclerview 项目布局中的 YouTubePlayerFragment 时,出现此错误
"Type parameter T has incompatible upper bounds: View YouTubePlayerFragment"
public static class MyVideoViewHolder extends RecyclerView.ViewHolder{
YouTubePlayerFragment youTubePlayerFragment;
public MyVideoViewHolder(View itemView) {
super(itemView);
youTubePlayerFragment=itemView.findViewById(R.id.youtube_player_fragment);
}
}
我无法使用 findViewById 访问片段并且无法在此处获取上下文我不知道如何在此处调用 findFragmentById 如果它可以工作。
2.
我尝试的另一个解决方案是在 recyclerview 项目布局内使用 frameLayout,然后替换该 framelayout 内的片段,但这也不起作用我得到
"No view found for id 0x7f070096 for fragment YouTubePlayerFragment"
public void onBindViewHolder(@NonNull MyVideoViewHolder holder, final int position) {
YouTubePlayerFragment youTubePlayerFragment=YouTubePlayerFragment.newInstance();
((Activity)mContext).getFragmentManager().beginTransaction().replace(holder.youtubePlayerFrameLayout.getId(),youTubePlayerFragment).commit();
youTubePlayerFragment.initialize(YoutubePlayerConfig.API_KEY, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
youTubePlayer.cueVideo(videoListDataArrayList.get(position));
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Log.d(TAG,"initilization fail");
}
});