2017-04-20 146 views
0

我无法从我的节点获取数据。我在listview中显示数据。 FirebaseFirebase获取节点的所有数据

带有“VVAA ..”的uid星的顶部是我用户的uid。我可以到达“34ern12”节点的数据。 (顺便说一句,我们没有定义这个节点的名字,用户可以。)但是我想要到达其他节点的数据。我的意思是我想要访问我的useruid节点的所有节点数据。我如何做到这一点?你有好主意吗?

这里是我的代码:

firebaseAuth=FirebaseAuth.getInstance(); 
    userId=firebaseAuth.getCurrentUser().getUid().toString(); 
    listview=(ListView)view.findViewById(R.id.listview); 
    adapter=new ArrayAdapter<String>(getActivity(),R.layout.support_simple_spinner_dropdown_item,list); 
    listview.setAdapter(adapter); 


    datareference= FirebaseDatabase.getInstance().getReference().child("Arabalar").child(userId).child("34ern12"); 


    datareference.addChildEventListener(new ChildEventListener() { 
     @Override 
     public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
      String value=dataSnapshot.getValue(String.class); 
      list.add(value); 
      adapter.notifyDataSetChanged(); 
     } 

     @Override 
     public void onChildChanged(DataSnapshot dataSnapshot, String s) { 

     } 

     @Override 
     public void onChildRemoved(DataSnapshot dataSnapshot) { 

      String value=dataSnapshot.getValue(String.class); 
      list.remove(value); 
      adapter.notifyDataSetChanged(); 

     } 

     @Override 
     public void onChildMoved(DataSnapshot dataSnapshot, String s) { 

     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 

    FloatingActionButton fab = (FloatingActionButton) view.findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View view) { 
      startActivity(new Intent(getActivity(),AracEkle.class)); 
     } 
    }); 

    return view; 

}} 
+1

你是什么意思与“我想达到节点的所有数据”?你想显示:'25yns1995'和'34ern12'等等? –

+0

不,我想显示34ern12和25yns1995节点的数据(editTextEmisyonTarihi,editTextKaskoTarihi等) –

回答

0

请使用此代码:

ValueEventListener eventListener = new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     if (dataSnapshot != null) { 
      @SuppressWarnings("unchecked") 
      Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue(); 
      if (map != null) { 
       //Do everything you want 
      } 
     }  
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) {} 
    }; 
datareference.addListenerForSingleValueEvent(eventListener); 

您所需要的数据是map对象内。希望能帮助到你。

相关问题