我在一些项目中工作,我想将喜欢的图标设置为卡片视图,我想将cardview详细信息显示给另一个活动 . 我使用firebase for set cardview和recyclerview .
我是android的初学者 . 所以我想要一些帮助来解决这个问题 .
当我点击收藏夹图标并将cardview详细信息设置到另一个回收站视图时,如何获得cardview的详细信息?!?!?!?!
viewHolder.mStarBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View view) {
mProccessStar = true;
mDatabaseStar.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (mProccessStar) {
if (dataSnapshot.child(post_key1).hasChild(mAuth1.getCurrentUser().getUid())) {
mDatabaseStar.child(post_key1).child(mAuth1.getCurrentUser().getUid()).removeValue();
mProccessStar = false;
} else {
mDatabaseStar.child(post_key1).child(mAuth1.getCurrentUser().getUid()).setValue(post_key1);
mProccessStar = false;
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
});
我想复制所有这些字符串并将其显示给另一个recyclerview,现在我将此字符串设置为带有cardview的recyclerview . 我不想获得密钥或获取id.i想要获取 Headers 和字符串desc和图像串的字符串
KPhBVHz4cmukSY...
desc:“کیفدستدوز”
图片:“https://firebasestorage.google ......
Headers :“کیفدستدوز”
3 回答
mDatabaseStar.child(post_key1).child(mAuth1.getCurrentUser()的getuid() . )的setValue(newPost) .
您可以在populateViewHolder中使用每个CardView执行操作 . 在这个例子中:
1)为vName和vMessage设置文本(setText)
2)使用getRef(i).getKey(),您可以获得卡中显示的数据的父键 .
3)也可以在CardView中的东西中设置OnClickListener,或者在这种情况下甚至是CardView本身 .
需要注意三点:1)您必须在ViewHolder类中定义每个视图(TextView,ImageView等) . 2)为了能够在 addValueEventListener 中更改喜欢的ImageView / ImageButton,你必须在 populateViewHolder 中将ViewHolder声明为final . 3)这里我只是使用if dataSnapshot.exists() 但你也可以请求一个值并根据它来改变它 . 但是,在大多数情况下, dataSnapshot.exists() 更快更有效 .
要复制节点,请执行以下操作:
然后将其复制到新位置:
最后一部分是如果要在复制成功的情况下删除原始文件 . 如果这是您正在寻找的,请将此答案标记为正确 .