我想在我的数据库中获取单个值,但我发现很难传递单个字符串。这是我的代码:
FirebaseUser user = firebaseAuth.getCurrentUser();
databaseReference = FirebaseDatabase.getInstance().getReference("USERS").child(user.getUid()).child("name");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String name = (String) dataSnapshot.getValue();
editTextName.setText(name);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
String name2 = editTextName.getText().toString().trim();
如何在此之外访问字符串名称? 我编辑了我的代码说
invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
答案 0 :(得分:0)
简短回答是一个成员变量,但是在onDataChange方法实际分配它之前它是空的(如果你没有网络连接,它可能永远不会)
你需要什么价值?在TextView中?只需直接从onDataChange
需要更复杂的东西,从onDataChange调用一个单独的方法并传入你的参数。
不要强迫自己回到同步代码