Как я могу отобразить значение Integer в TextView?
Когда я пытаюсь, я получаю сообщение об ошибке android.content.res.Resources$NotFoundException: String resource ID
Как я могу отобразить значение Integer в TextView?
Когда я пытаюсь, я получаю сообщение об ошибке android.content.res.Resources$NotFoundException: String resource ID
TextView tv = new TextView(this);
tv.setText("" + 4);
TextView tv = new TextView(this);
tv.setText(String.valueOf(number));
или
tv.setText(""+number);
Если вы хотите, чтобы он отображался на вашем макете, вы должны
Например:
Activity_layout.XML файл
<TextView
android:id="@+id/example_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
На файле Activity.java
final TextView textView = findViewById(R.id.example_tv);
textView.setText(Integer.toString(yourNumberHere));
В первой строке XML файла вы можете увидеть:
android:id="@+id/example_tv"
Именно там вы получите идентификатор для изменения в .java файле для findViewById(R.id.example_tv)
Надеюсь, я дал понять, я просто пошел с этим объяснением, потому что многие люди, кажется, знают метод ".setText()", они просто не могут изменить текст в "UI".
РЕДАКТИРОВАТЬ Так как это довольно старый ответ, и Kotlin является предпочтительным языком для разработки Android, здесь его аналог.
С той же версткой XML:
Вы можете использовать либо findViewbyId()
либо использовать синтетические свойства Kotlin:
findViewById<TextView>(R.id.example_tv).text = yourNumberHere.toString()
// Or
example_tv?.text = yourNumberHere.toString()
toString()
из Any
объекта Kotlin (сопоставимого с Object
Java):
Корень иерархии классов Котлина. Каждый класс Kotlin имеет Any в качестве суперкласса.
Попробуйте вместо этого использовать формат String # с правильными спецификациями формата (% d или% f).
int value = 10;
textView.setText(String.format("%d",value));
Это будет правильно обрабатывать символы разделения разделителя и локали
Альтернативный подход:
TextView tv = new TextView(this);
tv.setText(Integer.toString(integer));
String s = Integer.toString(10);
Тогда setText(s)
только что нашел заранее и наиболее часто используемый метод для установки строки в textView
textView.setText(String.valueOf(YourIntegerNumber));
example.setText("" + 4);
это сработало для меня, когда я захотел и
Для некоторых людей может быть проще работать с объектом Integer, поэтому вы можете просто вызвать toString() непосредственно на объект:
Integer length = my_text_view.getText().getLength();
counter_text_view.setText( length.toString() );
tv.setText(Integer.toString(intValue))
int= Integer.toString(54);
tv.setText(txv);