Целочисленное значение в TextView - PullRequest
38 голосов
/ 22 октября 2010

Как отобразить целочисленное значение в TextView?

При попытке получить сообщение об ошибке android.content.res.Resources$NotFoundException: String resource ID

Ответы [ 9 ]

76 голосов
/ 22 октября 2010
TextView tv = new TextView(this);
tv.setText(String.valueOf(number));

или

tv.setText(""+number);
39 голосов
/ 22 октября 2010

<code>TextView tv = new TextView(this);
tv.setText("" + 4);
13 голосов
/ 03 марта 2014

Если вы хотите, чтобы он отображался на вашем макете, вы должны

Например:

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"

Вот где вы получаете id для изменения в файле .java для findViewById(R.id.example_tv)

Надеюсь, я дал понять, что я просто пошел с этим объяснением, потому что многие люди, кажется, знают метод ".setText ()", они просто не могут изменить текст в "UI".


EDIT Поскольку это довольно старый ответ, а Kotlin является предпочтительным языком для разработки под Android, вот его аналог.

С той же версткой XML:

Вы можете использовать findViewbyId() или использовать Kotlin синтетические свойства :

findViewById<TextView>(R.id.example_tv).text = yourNumberHere.toString()

// Or

example_tv?.text = yourNumberHere.toString()

toString() от объекта Котлина Any (сравнимо с Java Object):

Корень иерархии классов Kotlin. Каждый класс Kotlin имеет Любой как суперкласс.

10 голосов
/ 26 мая 2016

Попробуйте вместо этого использовать формат String # с правильными спецификациями формата (% d или% f).

int value = 10;

textView.setText(String.format("%d",value));

Это будет правильно обрабатывать символы разделения разделителя и локали

6 голосов
/ 02 ноября 2010

Альтернативный подход:

 TextView tv = new TextView(this);
 tv.setText(Integer.toString(integer));
2 голосов
/ 06 января 2016
String s = Integer.toString(10);

Тогда setText(s)

1 голос
/ 11 сентября 2018

только что нашел прогресс и наиболее часто используемый метод для установки строки в textView

textView.setText (String.valueOf (YourIntegerNumber));

0 голосов
/ 13 сентября 2018
tv.setText(Integer.toString(intValue))
0 голосов
/ 17 декабря 2016

Возможно, для некоторых людей будет удобнее работать с объектом Integer, поэтому вы можете просто вызвать toString () непосредственно для объекта:

Integer length = my_text_view.getText().getLength();
counter_text_view.setText( length.toString() );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...