DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = rootRef.child("Users");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
ListView listView = (ListView) rootView.findViewById(R.id.usersList);
ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, al);
for(DataSnapshot ds : dataSnapshot.getChildren()) {
name = ds.child("Name").getValue().toString();
list_user_id = ();
// Log.d("TAG", name);
al.add(name);
// String phonenumber =
}
listView.setAdapter(adapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(getActivity(),"Please Check Your Internet Connection",Toast.LENGTH_SHORT).show();
}
};
我希望在list_user_id中获取电话号码...用于获取当前用户电话号码我可以使用getPhoneNumber方法但我不确定如何获取与我聊天的用户号码
答案 0 :(得分:0)
试试这个:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = rootRef.child("Users");
ref.addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
String phonenumber=datas.child("phonenumber").getValue().toString();
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
由于您想获取您正在聊天的人的电话号码,因此从逻辑上您可以点击该人的姓名开始聊天,然后您可以使用该查询:
ref.orderByChild("name").equalTo(Nameyouclicked).addValueEventListener(...){..}
通过这种方式,您可以获得该名称,然后就可以获得用户ID或与该用户相关的任何内容。