Как исправить попытку вызова виртуального метода 'void android.widget.TextView.setText (java.lang.CharSequence)' для ссылки на пустой объект - PullRequest
0 голосов
/ 09 ноября 2019

Я пытался получить значения firebase и поместить его в TextView, и когда я выполняю свою программу, возникает исключение:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

Я знаю, что этот вопрос дублируется, но я ненашел любой ответ на других.

Мой код:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_notificationdisplay);
    FirebaseApp.initializeApp(this);
    final TextView title = (TextView)findViewById(R.id.title);
    final TextView text = (TextView)findViewById(R.id.text);
    //--------------------String text1="";
    FirebaseDatabase.getInstance().getReference().child("notification").child("contenu").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            Log.v("text:",dataSnapshot.getValue().toString());
            text.setText(dataSnapshot.getValue(String.class));
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });
    //-----------------title
    FirebaseDatabase.getInstance().getReference().child("notification").child("title").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            Log.v("title:",dataSnapshot.getValue().toString());
            title.setText(dataSnapshot.getValue(String.class));

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }

    });
}

1 Ответ

0 голосов
/ 09 ноября 2019

text - ноль, поэтому вы не можете назвать setText на нем. Это, вероятно, означает, что ваше раздутое представление не имеет представления внутри него с идентификатором "text":

final TextView text = (TextView)findViewById(R.id.text);  // text is null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...