问题:
我尝试阅读特定记录中的所有内容
一切都是:
database.child("Youtube1");
现在我需要从Information
中选择数据并将其放入TextView
指向意图的链接
文字到文字视图
(我知道如何把它放入,但我不知道如何从服务器获得响应)
我知道的方法是ValueEventListener
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
当然我用以下内容初始化数据库:
private DatabaseReference mDatabase;
mDatabase = FirebaseDatabase.getInstance().getReference();
我尝试在ValueEventListener
喜欢
settingsText3.setText(dataSnapshot.child("Youtube1").child("Information").getValue(String.class));
但是这不起作用,这是VIDE TUTORIALS的案例
case VIDEO_TUTORIALS:
settingsText3.setVisibility(View.VISIBLE);
mDatabase = FirebaseDatabase.getInstance().getReference();
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
settingsText3.setText(dataSnapshot.child("Youtube1").child("Information").getValue(String.class));
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
break;
任何建议都会对我有所帮助
答案 0 :(得分:1)
您在一个地方创建mDatabase
,在另一个地方创建valueEventListener
,因此这两个未连接。您应该像这样连接两个对象(在两者初始化之后放置它):
mDatabase.addValueEventListener(valueEventListener);
或直接将新侦听器附加到mDatabase
,如下所示:(如果您使用此处,请删除valueEventListener
的初始化,因为它不再需要):
mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
settingsText3.setText(...); // place your code here
...
...
您可以使用其中之一。希望这有帮助