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"
_
ここで、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があります。
代わりに、適切な形式仕様(%dまたは%f)を使用したString#formatの使用を検討してください。
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));
一部の人にとっては、Integerオブジェクトを操作するほうがクリーンな場合があります。そのため、オブジェクトに対してtoString()を直接呼び出すことができます。
Integer length = my_text_view.getText().getLength();
counter_text_view.setText( length.toString() );