1
firebaseデータベースから値を取得しようとしています。firebaseデータベースから値を取得できません
onDataChange()関数に値を表示していますが、値を表示できません。
コード:
public Records readtraditional(String email)
{
final Records record = new Records();
final String[] name = new String[1];
myRef.child(email).child("name").addValueEventListener(new
ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
name[0] = dataSnapshot.getValue().toString() ;
//Printing value of name here
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Log.i("name in ","H"+name[0]);
//Unable to print value of name here
record.setName(name[0]);
return record;
}
レスポンスは非同期です。 OnDataChange外の値を印刷しようとすると、おそらくサーバーからの応答がなく、名前配列も空で、後で@matipというonDataChangeが呼び出されます。 – matip
@matip、これはわかりますが、解決策は何ですか。 –
下記の私の答えを参照してください – matip