public class MainActivity extends AppCompatActivity {
private static final String TAG = MainActivity.class.getSimpleName();
private FirebaseFirestore db = FirebaseFirestore.getInstance();
private EditText nameEdit, ageEdit;
private TextView name, age;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nameEdit = findViewById(R.id.nameText);
ageEdit = findViewById(R.id.ageText);
name = findViewById(R.id.textView);
age = findViewById(R.id.textView2);
btn = findViewById(R.id.button);
final DocumentReference docRef = db.document("users/user2");
final Map<String, Object> user = new HashMap<>();
docRef.set(user);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String nameString = nameEdit.getText().toString();
String ageStr = ageEdit.getText().toString();
if(ageStr.equals(""))
ageStr = "0";
int ageInt = Integer.parseInt(ageStr);
user.put("name", nameString);
user.put("age", ageInt);
docRef.set(user);
docRef.get()
.addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if(task.isSuccessful()){
System.out.println(task.getResult().getData().get("name").toString());
name.setText(task.getResult().getData().get("name").toString());
age.setText(task.getResult().getData().get("age").toString());
}
}
});
}
});
}
}
Проблема в name.setText(task.getResult().getData().get("name").toString());
не работает.
и age.setText(task.getResult().getData().get("age").toString());
работает хорошо.
Я проверил, существуют ли данные из EditTextв моей базе данных Firebase.и это работает.и age(textview)
отображает измененный текст в моем приложении.но name(textview)
не отображает измененный текст.но данные существуют.потому что System.out.println(task.getResult().getData().get("name").toString());
работает нормально.и он печатает правильные данные из базы данных.