我正在使用recycleview来显示Firebase Realtime数据库中的数据列表。而且我在布局xml中有Button。
在Firebase中,我在用户信息键内具有子值列表。考虑 名称:萨加尔 检查:已检查
现在,我想将Button的Onclick动作中的值检查从“已检查”更改为“未检查”,将“未检查”更改为“已检查”
当我有一个数据但添加两个或更多数据时,它起作用。单击“按钮”时,子节点“ check”的值不会更改目标键,也不会随机更改其他键的子值。
在“摘要”中,当我单击“按钮”而不是特定节点子项以更改其值时,其他子项值从列表中随机更改。如何预防呢?
这是我的代码
mSolved = (Button) itemView.findViewById(R.id.book_solved);
g = bookslist.get(position);
holder.mSolved.setText(g.getBmark());
holder.mSolved.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
final DatabaseReference classicalMechanicsRef = rootRef.child("books").child("Anamnagar").child(g.getBookid());
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (Tinfo.equals("Mark Found")) {
classicalMechanicsRef.child("bmark").getRef().setValue("Booked");
} else if (Tinfo.equals("Booked")) {
classicalMechanicsRef.child("bmark").getRef().setValue("Mark Found");
}