2011-01-30 23 views
25

私はint変数を持っています。私はこの変数をAndroid TextViewのテキストとして設定しているときに、それがIntであるためにエラーを投げます。チェックしましたが、intのtoString関数が見つかりませんでした。だから私はどうすればいいのですか?intを文字列に変換する方法は?

int sdRate=5; 
//text_Rate is a TextView 
text_Rate.setText(sdRate); //gives error 

答えて

88

使用String.valueOf()

int sdRate=5; 
//text_Rate is a TextView 
text_Rate.setText(String.valueOf(sdRate)); //no more errors 
+0

ありがとう、それは完全に動作します –

+4

'String.valueOf'と' Integer.toString'の違いは何ですか? –

+0

(String)getMeasuredWidth()が機能しないのはなぜですか? – Neil

0

あなたはIntegerクラスの静的toString()メソッドを使用します。この

int sdRate=5; 
//text_Rate is a TextView 
text_Rate.setText(sdRate+""); //gives error 
12

よう試みるべきかもしれません。

int sdRate=5; 
text_Rate.setText(Integer.toString(sdRate)); 
+0

感謝をスローします。 –

1

あなたがしようとしました:

text_Rate.setText(String.valueOf(sdRate)); 
+1

私は* javaはプリミティブとクラスに関する混合モデルを持っているので、intで直接メソッドを呼び出すことはできません。 Integerクラスのstatic toString()を使用するか、それをIntegerにキャストしてから、その上でtoString()を呼び出す必要があります。 –

+0

申し訳ありませんが、最後の1つはうまく動作しませんので、私は私の答えを編集しました。しかし、String.valueOf(sdRate)は機能します。 – MBU

4

あなたは二つの選択肢持っ

text_Rate.setText(""+sdRate); 
0

を使用することができます。

int sdRate=5; 
text_Rate.setText(String.valueOf(sdRate)); //faster!, recommended! :) 

2)空の文字列を追加::String.valueOf()方法使用

1)

int sdRate=5; 
text_Rate.setText("" + sdRate)); 

キャストはオプションではありませんが、これはあまりにも素晴らしい作品ClassCastException

int sdRate=5; 
text_Rate.setText(String.valueOf((String)sdRate)); //EXCEPTION! 
関連する問題