2017-02-02 7 views
-4

В настоящее время я работаю над приложением Android, где я изменяю текст в объекте TextView во время работы своего приложения из класса MainActivity. Для этого я использую метод setText(CharSequence text). Документация этого метода на веб-сайте Android Studio явно указывает, что цель метода «Устанавливает строковое значение TextView». Однако всякий раз, когда я пытаюсь передать ссылочную строку из файла Strings.xml в качестве параметра для этого метода, я получаю исключение NullPointerException с сообщением «Попытка вызвать виртуальный метод» void android.widget.TextView.setText (int) »on ссылка на нулевой объект ". Может ли кто-нибудь объяснить мне, почему эта ошибка возникает, и как использовать метод setText(CharSequence text) со ссылкой на String в качестве параметра? Спасибо огромное!Как установить текст Android TextView с Java?

+0

добавить свой код mainActivity. – W4R10CK

+1

Сначала вам нужно инициализировать ваш textView, второй, если вы зададите вопрос, который вам нужно показать, что вы сделали –

+0

Отправьте свой код, чтобы мы могли вносить изменения – Akshay

ответ

1

Убедитесь инициализировать TextView

TextView tvName = (TextView) findViewById(R.id.tv_name); 
tvName.setText(getResources().getString(R.string.name_xml)); 

Также убедитесь, что в вашем setContentView XML-tv_name объявлен как TextView в макете.

+0

Спасибо, забыл блок кодирования – Mike

+1

Эй, не зная, где OP пошло не так, как вы отправляете ответ? и можете ли вы объяснить, что избегает его нулевого указателя из вашего ответа? –

+1

@Mike, пожалуйста, добавьте ресурс полного тела, чтобы убедиться, что OP может понять, что пошло не так с его кодом. Обязательно добавьте краткое тело в ответ. – W4R10CK

-1

другой способ сделать это

TextView textview = (TextView)findViewById(R.id.text);//get the view of textview 

//set the text for textview 
textview.setText("text you want to set");