こんにちは、私の質問をお詫びします。私は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);
は であるため、 にStringas 引数を与える必要があります。オーバーロードされたメソッドの 1 つが であるため、すべてを受け入れますが、それはありません。を使用することも、単に使用することもできます。setText()aintSystem.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);