我想在列表视图中从Firebase检索数据,但输出为空。
下面是代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search__profile);
user=new User();
listView = (ListView) findViewById(R.id.searchlist);
firebaseDatabase = FirebaseDatabase.getInstance();
mAuth = FirebaseAuth.getInstance();
// databaseReference = firebaseDatabase.getReference();
arrayList=new ArrayList<>();
databaseReference=FirebaseDatabase.getInstance().getReference(mAuth.getUid());
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
arrayList.clear();
for(DataSnapshot ds:dataSnapshot.getChildren())
{
user=ds.getValue(User.class);
if (user != null) {
arrayList.add(user.First_name);
}
if (user != null) {
arrayList.add(user.Fathers_name);
}
}
arrayAdapter=new ArrayAdapter<String>(Search_Profile.this,android.R.layout.simple_expandable_list_item_1);
listView.setAdapter(arrayAdapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});}}
这是什么问题?
答案 0 :(得分:0)
使用这段代码来检索您的数据。
databaseReference=FirebaseDatabase.getInstance().getReference(mAuth.getUid());
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
arrayList.clear();
for(DataSnapshot ds:dataSnapshot.getChildren())
{
for(DataSnapshot ds1:ds.getChildren())
{
user=ds1.getValue(User.class);
if (user != null) {
arrayList.add(user.First_name);
arrayList.add(user.Fathers_name);
}
arrayAdapter=new ArrayAdapter<String>(Search_Profile.this,android.R.layout.simple_expandable_list_item_1);
listView.setAdapter(arrayAdapter);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});