我想让它存储私有字符串keyy,但是不保存,会发生什么?我尝试使用textview来显示数据。

DatabaseReference myRef = FirebaseDatabase.getInstance().getReference().child("Users").child("Customers");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot nodo : dataSnapshot.getChildren()) {

            String key = nodo.getKey();
            Log.d("TAG", key);
            keyy = key;
            mSetting.setText(key); // yes, show data
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}

};
myRef.addListenerForSingleValueEvent(eventListener);
mSetting.setText(keyy); // No,show data

最佳答案

我希望这能解决您的问题

List<String> keyList = new ArrayList();
    DatabaseReference myRef = FirebaseDatabase.getInstance().getReference().child("Users").child("Customers");
        ValueEventListener eventListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for(DataSnapshot nodo : dataSnapshot.getChildren()) {

                    String key = nodo.getKey();
                    keyList.add(key);

                }
               done(keyList);
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {}

        };
        myRef.addListenerForSingleValueEvent(eventListener);

        public void done(List k)
    {
      //show keys here
    }

10-07 19:26
查看更多