我想从 firebase 实时数据库中读取并在 TextView 中设置检索到的数据,这是我到目前为止所尝试过的。
private DatabaseReference buckybarnz;
.........
buckybarnz = FirebaseDatabase.getInstance().getReference().child(userID).child("chel_sea");
ValueEventListener eventListener = buckybarnz.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
if (dataSnapshot1 != null) {
DRive dRive = dataSnapshot1.getValue(DRive.class);
if (dRive != null) {
String receipt = dRive.getExt_ref().trim();
String text = dRive.getTxt_Ref().trim();
chalwe.setText(text);
johns.setText(receipt);
} else {
String a = "no pending refunds available";
anthony.setText(a);
chalwe.setText(a);
johns.setText(a);
}
} else {
String a = "no pending refunds available";
anthony.setText(a);
chalwe.setText(a);
johns.setText(a);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
没有任何工作,即使数据库中有数据, TextView 也没有任何反应。
请帮忙,解决这个问题的最佳方法是什么,即使是使用字符串类方法的解决方案也是有益的。下面是我的数据库的 View this is a view of my database, BSQ.... being the userID ] 1
最佳答案
与您相比,我访问数据库的方式不同:
Firebase.setAndroidContext(this);
Firebase reference1 = new Firebase("https://project-id.firebaseio.com/messages/"); //replace project-id by your project-id
reference1.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
System.out.println("reference4: data snapshot key"+dataSnapshot.getKey()+"");
//your code
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
希望对你有帮助
关于java - 从 firebase 实时数据库读取数据到 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58331575/