recyclerview
에 youtube
개의 동영상을 목록 아래에 하나씩로드해야합니다. 아래 코드를 참조하십시오. 나는 이것에 대해 youtube api
을 사용했다.Youtubeview with RecyclerView 로딩
아래 코드의 문제점은 마지막 비디오 만로드되고 전달 된 값이 정확하고 올바르게 작동한다는 것입니다. 목록에있는 다른 동영상은로드되지 않으며 해당 동영상에 검은 색 화면이 있습니다.
public class YoutubeAdapter extends RecyclerView.Adapter<YoutubeAdapter.MyViewHolder> {
private String developer_key = "My Developer Key";
private Context context;
private ArrayList<String> video_id;
private LayoutInflater inflater;
public YoutubeAdapter(Context context, ArrayList<String> video_id) {
inflater = LayoutInflater.from(context);
this.context = context;
this.video_id = video_id;
}
public class MyViewHolder extends RecyclerView.ViewHolder {
YouTubePlayerView youtubeView;
public MyViewHolder(View view) {
super(view);
youtubeView = (YouTubePlayerView) view.findViewById(R.id.youtubeView);
}
}
@Override
public YoutubeAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = inflater.inflate(R.layout.video_content,parent,false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
final String video_string = video_id.get(position);
holder.youtubeView.initialize(developer_key, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
if (!b) {
youTubePlayer.cueVideo(video_string);
}
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Toast.makeText(context, "Failed to load video", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getItemCount() {
return video_id.size();
}
}
'youtube videos'의 미리보기 이미지가로드되지 않았습니까? –
나는 thumbnailview이 아닌 youtube view 만 사용했습니다. 무슨 일이 일어나는지는 버튼이있는 마지막 비디오 만 보이고 재생할 수 있다는 것입니다. –
은 모든 데이터를 포함하고 있습니다. 'Array List' 크기? –