如何在Android设备上
问题描述:
我试图当用户点击一个按钮如何在Android设备上
这里只更新场火力地堡数据库更新只有特定的字段是database
我需要的时候更新report_status用户点击一个按钮
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
report_value=Integer.parseInt(arrayforreport.get(posi));
report_value++;
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//i need to update report_status by id
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
});
答
addValueEventListener
是检索值,你不需要它来设置值。
首先从DatabaseReference
获得密钥,然后使用setValue
更改该值。
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
report_value=Integer.parseInt(arrayforreport.get(posi));
report_value++;
DatabaseReference databaseReference = adapter.getRef(position);
String key = databaseReference.getKey();
databaseReference.child("type").child("Whatsapp").child("Shopping Deals").child(key).child("report_status").setValue(report_status);
}
});
答
为了更新您的火力地堡数据库中的值没有必要附加一个监听器,当你需要读取数据时,才需要。因此,要更新特定节点,您只需直接在databaseReference
对象上使用setValue()
方法。
所以假设type
节点是你的火力地堡数据库的直接孩子,请用下面的代码行:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
rootRef.child("type")
.child("Whatsapp")
.child("Shopping Deals")
.child(shoppingDealId)
.child("report_status")
.setValue("newValue");
在这shoppingDealId
是一个特殊的购物交易的ID。您可以使用下面的代码行得到这个ID:
String key = ref.push().getKey();
adapter.getRef(现在的位置)这是什么立场可以ü请解释一下..是该适配器变量属于阵列适配器? beacuse亚姆面临的问题,以获得关键..其中用户点击列表项目 –
你面临的问题是什么? –
我无法获得用户选择字段的ID –