如何将firebase数据库的子节点转换为android列表视图

时间:2017-06-17 10:36:18

标签: android listview firebase-realtime-database

我一直在寻找这个但却找不到我想要的东西。 enter image description here

这是我在firebase中所拥有的图片。

我需要在listview中显示它,但我还需要动态显示它。例如,如果有30个链接,它应该在列表视图中显示30个项目,如果Firebase中有50个链接,则列表视图应该有50个项目。

最好的方法是什么?

由于

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

listview=(ListView)findViewById(R.id.listview);
    final ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,list);
    listview.setAdapter(adapter);
    dref=FirebaseDatabase.getInstance().getReference();
    dref.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            list.add(dataSnapshot.getValue(String.class));
            adapter.notifyDataSetChanged();
        }
        @Override
        public void onChildChanged(DataSnapshot dataSnapshot, String s) {
        }
        @Override
        public void onChildRemoved(DataSnapshot dataSnapshot) {
            list.remove(dataSnapshot.getValue(String.class));
            adapter.notifyDataSetChanged();
        }
        @Override
        public void onChildMoved(DataSnapshot dataSnapshot, String s) {
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });

这将在列表视图中显示孩子的所有数据