В настоящее время я работаю над приложением 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?
ответ
Убедитесь инициализировать TextView
TextView tvName = (TextView) findViewById(R.id.tv_name);
tvName.setText(getResources().getString(R.string.name_xml));
Также убедитесь, что в вашем setContentView XML-tv_name объявлен как TextView в макете.
Спасибо, забыл блок кодирования – Mike
Эй, не зная, где OP пошло не так, как вы отправляете ответ? и можете ли вы объяснить, что избегает его нулевого указателя из вашего ответа? –
@Mike, пожалуйста, добавьте ресурс полного тела, чтобы убедиться, что OP может понять, что пошло не так с его кодом. Обязательно добавьте краткое тело в ответ. – W4R10CK
другой способ сделать это
TextView textview = (TextView)findViewById(R.id.text);//get the view of textview
//set the text for textview
textview.setText("text you want to set");
добавить свой код mainActivity. – W4R10CK
Сначала вам нужно инициализировать ваш textView, второй, если вы зададите вопрос, который вам нужно показать, что вы сделали –
Отправьте свой код, чтобы мы могли вносить изменения – Akshay