web-dev-qa-db-ja.com

TextViewの整数値

TextViewで整数値を表示するにはどうすればよいですか?

しようとすると、エラーが発生しますAndroid.content.res.Resources$NotFoundException: String resource ID

38
Maya
TextView tv = new TextView(this);
tv.setText("" + 4);
39
Falmarri
TextView tv = new TextView(this);
tv.setText(String.valueOf(number));

または

tv.setText(""+number);
76

レイアウトに表示したい場合は、

例えば:

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"
_

ここで、findViewById(R.id.example_tv)の.Javaファイルで変更するidを取得します

多くの場合、人々は「.setText()」メソッドを知っているように見えますが、彼らは「UI」のテキストを変更できないので、私はこの説明で行っただけです。


[〜#〜] edit [〜#〜]これはかなり古い答えなので、 Kotlin優先言語です for Android development、こちらが対応しています。

同じXMLレイアウトの場合:

findViewbyId()を使用するか、または Kotlin合成プロパティ を使用できます。

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

// Or

example_tv?.text = yourNumberHere.toString()
_

toString() は、Kotlinの Any オブジェクト(Java Object):

Kotlinクラス階層のルート。 EveryKotlinクラスには、スーパークラスとしてAnyがあります。

13
Joaquim Ley

代わりに、適切な形式仕様(%dまたは%f)を使用したString#formatの使用を検討してください。

int value = 10;

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

これにより、分数区切りとロケール固有の数字が適切に処理されます

10
Rakesh Barik

代替アプローチ:

 TextView tv = new TextView(this);
 tv.setText(Integer.toString(integer));
6
John
_String s = Integer.toString(10);
_

次にsetText(s)

2
VK Golakiya

textViewで文字列を設定するための高度で最も現在使用されているメソッドを見つけました

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

1
Azhar

一部の人にとっては、Integerオブジェクトを操作するほうがクリーンな場合があります。そのため、オブジェクトに対してtoString()を直接呼び出すことができます。

Integer length = my_text_view.getText().getLength();
counter_text_view.setText( length.toString() );
0
Kacy