Afiqなし:
私が取得しようとしていますdata
からFirebase Realtime Database
。それは働いています。私の質問はからのテキストを設定する方法ですuserDatabase
。結果は次のようになりますnull
し、私はそれを読んでいないと思いますdatabase
使用中userID
。
FirebaseUser user = firebaseAuth.getCurrentUser();
String userid = user.getUid();
txvEmail = (TextView) findViewById(R.id.txvEmail);
txvEmail.setText("Welcome "+user.getEmail());
txvName = (TextView) findViewById(R.id.txvName);
txvAdd =(TextView) findViewById(R.id.txvAdd);
userDatabase = new UserDatabase();
reff = FirebaseDatabase.getInstance().getReference("Member").child(userid);
reff.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
txvName.setText(" "+userDatabase.getFirstName()+" "+userDatabase.getLastName());
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
シリルでモラレス:
私はあなたがスナップショットの値にモデルクラスを定義する必要がありますだと思います
txvEmail = (TextView) findViewById(R.id.txvEmail);
txvEmail.setText("Welcome "+user.getEmail());
txvName = (TextView) findViewById(R.id.txvName);
txvAdd =(TextView) findViewById(R.id.txvAdd);
userDatabase = new UserDatabase();
reff = FirebaseDatabase.getInstance().getReference("Member").child(userid);
reff.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
//new code
for(DataSnapshot snap: dataSnapshot.getChildren()){
//you must define your class model to the value of snapshots
userDatabase user = snap.getValue(userDatabase.Class);
txvName.setText(" "+user.getFirstName()+" "+user.getLastName());
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});