繁体   English   中英

如何在firebase数据库android studio中没有低于值的情况下获取列表视图的儿童键

[英]How to get Children's keys to a listview without below values in firebase database android studio

这是数据库的示例数据库图像

您好,我是 firebase 和 android studio 的初学者。 我想获得不带子键和值的 client_id 的键名。

例如

098798788

343243209

348987206

我的代码显示了键名,但它重复了相同的键。 这是我的代码:

//list view code start ----------------------------------------------------------------;

    ListView listView = findViewById(R.id.listview00);
    final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,usernames);
    listView.setAdapter(arrayAdapter);

    DatabaseReference myRef = database.getReference("clients/client_id");

    myRef.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {




            for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {

                String  value = dataSnapshot.getKey();

                usernames.add(value);
            }
            arrayAdapter.notifyDataSetChanged();
        }

        @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(DatabaseError databaseError) {

        }
    });


    //list view code end----------------------------------------------------------------

这样做:

  ListView listView = findViewById(R.id.listview00);
DatabaseReference myRef = database.getReference().child("clients").child("client_id");

myRef.addChildEventListener(new ChildEventListener() {
    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String s) {




        for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {

            String  value = dataSnapshot.getKey();

            usernames.add(value);
        }
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,usernames);
        listView.setAdapter(arrayAdapter);
        arrayAdapter.notifyDataSetChanged();
    }

    @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(DatabaseError databaseError) {

    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM