在列表视图中从Firebase检索数据库

时间:2019-10-03 11:20:21

标签: android firebase firebase-realtime-database android-listview

我想在列表视图中从Firebase检索数据,但输出为空。

This is a snapshot of my realtime database

下面是代码

  @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) {

            }
        });}}

这是什么问题?

1 个答案:

答案 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) {

            }
        });
相关问题