RecyclerView
の同じリストに画像と動画をロードするにはどうすればいいですか?Facebookの画像に動画を再生するとFacebookのブログスタイルのように再生できます同様にリストのcardViews
のビデオは、この上の任意のチュートリアルは私を助けてください。私は本当に立ち往生しています。RecyclerViewでビデオと画像を一度ロードする
RecyclerView
は、画像と動画の両方で1つにする方法はありますか?以下は
私onStart
方法そのFirebaseRecyclerAdapter
がありますところ、それはリスト
@Override
protected void onStart() {
super.onStart();
//checkUserExists();
// mAuth.addAuthStateListener(mAuthLitsener);
try {
FirebaseRecyclerAdapter<Posts, BlogViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Posts, BlogViewHolder>(Posts.class,
R.layout.item_activity,
BlogViewHolder.class,
mDatabase) {
@Override
protected void populateViewHolder(BlogViewHolder viewHolder, final Posts model, final int position) {
final String key_post = getRef(position).getKey();
viewHolder.setTitle(model.getEventTitle());
viewHolder.setDesc(model.getEventDescription());
viewHolder.setImage(c, model.getEventImage());
viewHolder.setVideo(c,model.getEventImage());
viewHolder.imagePost.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),""+key_post,Toast.LENGTH_LONG).show();
Intent singleView = new Intent(MainActivity.this,ViewSingleImage.class);
singleView.putExtra("Blog",key_post);
singleView.putExtra("EventName",eventname);
startActivity(singleView);
}
});
}
};
mRecyclerview.setAdapter(firebaseRecyclerAdapter);
}
catch (Exception ex){
System.out.println("Error "+ ex);
}
}
を起動し、これは私がして、だから、一般的にイメージとURL
public static class BlogViewHolder extends RecyclerView.ViewHolder{
View mView;
private ImageView imagePost;
public BlogViewHolder(View itemView) {
super(itemView);
mView=itemView;
imagePost =(ImageView)mView.findViewById(R.id.post_image);
}
public void setTitle(String title){
TextView post_title = (TextView)mView.findViewById(R.id.post_title);
post_title.setText(title);
}
public void setDesc(String desc){
TextView post_desc = (TextView)mView.findViewById(R.id.post_desc);
post_desc.setText(desc);
}
public void setImage(final Context c,final String imageUrl){
//
Picasso.with(c).load(imageUrl).error(R.mipmap.add_btn).fit().centerInside().placeholder(R.mipmap.add_btn)
.networkPolicy(NetworkPolicy.OFFLINE).into(imagePost, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
//Reloading an image again ...
Picasso.with(c).load(imageUrl).error(R.mipmap.add_btn).placeholder(R.mipmap.add_btn)
.into(imagePost);
}
});
}
public void setVideo(final Context c, final String videoUrl){
videoLayout = (FullscreenVideoLayout) mView.findViewById(R.id.post_video);
// videoLayout.setActivity(this);
// videoLayout.setActivity(get);
Uri videoUri = Uri.parse(videoUrl);
try {
videoLayout.setVideoURI(videoUri);
} catch (IOException e) {
e.printStackTrace();
}
}
}
の両方を宣言しMyViewHolder
クラスでありますViewHolder
イメージとビデオを宣言したので、OnStart
のメソッドでは、ImageUrl
とをダウンロードするために私のアダプタを配置したメソッドです、それらをチェックするロジックは、私の側に、まだ注意が必要です
onBindViewHolder()メソッドでビューを作成する前に、以下のリンクを参照し、Viewholderでイメージとテキストビューを使用して条件を確認してください。 http://stackoverflow.com/questions/30978030/playing-video-using-textureview-in-recyclerview –
@Chayan、返信いただきありがとうございます。送信した投稿リンクを見たときに、私が望むのは、その人がリストにロードされた画像を投稿し、その人がRecyclerViewにロードしたビデオを投稿したときに、画像とビデオがロードされたときに自動センスを持たせたい場合です。 )。 –
@huzaifah ---サーバーからイメージURLとビデオURLを取得していますか?サーバーから取得する場合、そのオブジェクトの種類がイメージかビデオかを確認してから、OnCreateViewHolder()メソッドで新しいビューホルダーを作成し、obBindView () 方法。あなたは私にいくつかのPescudoコードを送ろうとするのですか? –