我正在尝试访问上次添加的Firebase节点中的某个值。在我的数据库中,我有一组客户端,可以通过我的应用程序添加到。在客户端内部有一条名为'clientName'的信息。我想得到这个价值。
一旦我得到了价值,我就试着给出一个显示价值的祝酒词。
这是我的按钮的onClick方法中的代码。我不确定为什么它不起作用。如果你知道我可以做的另一种方式或修复我当前代码的方法,我真的很感激!
先谢谢你们!
my_button[bt].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (my_button[Index].getId() == ((ImageButton) v).getId()) {
String bla = (String) getIntent().getExtras().get("id");
String address = "https://console.firebase.google.com/project/cssecond-92a2d/database/data/clients/" +bla+"/clientName";
Firebase ref = new Firebase(address);
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(com.firebase.client.DataSnapshot dataSnapshot) {
String value = (String) dataSnapshot.getValue();
Toast.makeText(HomePageNews.this,"In your hands you have: "+ value ,Toast.LENGTH_LONG).show();
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
}
});
答案 0 :(得分:1)
代码中的一切看起来都很好。问题是这行代码:
String bla = (String) getIntent().getExtras().get("id");
从intent
返回的ID为null
,因此您的reference
也是null
。为了解决这个问题,您需要更改代码以从之前的活动中获得正确的值,而不是它应该工作的。