我正在尝试实现像 Instagram 这样的应用程序,用户可以在其中点赞和分享,但是当他按下按钮(如心形图像)时。
///interface to get position
@Override
public void onitemclick(int position) {
position_of_image=position;
int num1=uploads.get(position_of_image).getNumber_likes();
uploads.get(position_of_image).setNumber_likes(num1+1);
String id=uploads.get(position_of_image).getId();
int number= uploads.get(position_of_image).getNumber_likes();
String name= uploads.get(position_of_image).getName();
String url=uploads.get(position_of_image).getImageUrl();
//updating the tables
Map<String,Object> map=new HashMap<>();
map.put(id,new Upload(name,url,number,id));
// mDatabaseRef.child(id).child("number_likes").setValue(number);
uploads.clear();
mDatabaseRef.updateChildren(map);
mRecyclerView.smoothScrollToPosition(position_of_image);
}
**这是我在适配器中点击时的界面,我想让 btn 变成红色,它完成了,但很快就消失了 **
@Override
public void onClick(View v) {
if (mlistener!=null){
int position=getAdapterPosition();
if (position!=RecyclerView.NO_POSITION){
mlistener.onitemclick(position);
}
like.setImageResource(R.drawable.red_heart);
}
public interface onlikeclic{
void onitemclick(int position);
}
public void setonitemclicklistener(onlikeclic listener){
mlistener=listener;
}
最佳答案
单击项目时,使用调用 RecyclerView
的 smoothScrollToPosition(0)
方法。
您可以在 this answer 中查看示例.
关于java - 刷新 RecyclerView 中的数据并保持其滚动位置将用户带到 Activity 的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61070883/