こんにちは、私の質問をお詫びします。私はJavaを勉強していて、今はandroidのテストプログラムを作成しています。
int a = 10;
私が行うJavaの場合:System.out.println(a);
これは完全に機能します。
アンドロイドでは使えませんsetText(a);
か?
変数を文字列に変換する必要がありますか?
ありがとう!
ポル
最初にTextViewの Api ドキュメントを確認してから、メソッドで整数値を渡すことの意味を理解する必要がありますsetText()
。
setText()
オーバーロードされたメソッドです。
整数値を渡すと、値の xml ファイル (string.xml など) で宣言したリソース ID と同様に考慮されるため、整数値を渡すと、渡された指定された整数に関してリソース ID を見つけようとします。指定された整数と一致するリソースが見つからず、アプリがクラッシュします。
あなたが今理解していることを願っています。
String.valueOf()を使用して、整数値を String に次のようにキャストします。
int a=10;
text_Rate.setText(String.valueOf(a));
""
または、TextView で整数値を次のように表示するために Integer を追加できます。
int a=10;
text_Rate.setText(""+a);
は であるため、 にString
as 引数を与える必要があります。オーバーロードされたメソッドの 1 つが であるため、すべてを受け入れますが、それはありません。を使用することも、単に使用することもできます。setText()
a
int
System.out.println()
System.out.println(Object)
setText()
String.valueOf(a)
setText("" + a)
System.out.println()
文字列を引数として除外できます。ただしsetText()
、引数として文字列のみを取ります。したがって、数値を文字列として表示したい場合は、String.valueOf()
メソッドを使用できます。
これが役立つことを願っています。
int を String オブジェクトにキャストする必要があります
String s = Integer.toString(a);
view.setText(s);