2012-07-18 19 views
7

フォーマットと複数の値を持つテキストビューでテキストを設定する際に問題があります。AndroidのsetText/R.string/values

holder.car.setText(R.string.mycar + lm.getCarName() + R.string.year + lm.getYear()); 

これは私が、私もまだそれが動作しませんでした、String.valueOf(R.string.mycar); getResources().getText(R.String.mycar)を試みたウェブ

holder.car.setText(getString(R.string.mycar) + lm.getCarName() + getString(R.string.year) + lm.getYear()); << not work, getString undefine>> 

から他のいくつかの "ソリューション" を試してみました私に "2143545 Camero 2143213 1977"

を与えています。誰かが私を助けることができる場合、それは素晴らしいことだ

、感謝

+0

は何の手段を「まだ動作しませんか」?あなたは何を期待していますか? – Blackbelt

+0

'R.string.mycar'はリソースを参照する' int'であるからです。それは実際のリソースではありません。 @ user1417127の答えがよさそうだ。それはあなたのための実際の文字列リソースを取得します –

+0

はcontext.getResources.getString(R.string.xyx)を使用します。 – Kamal

答えて

14

は試してみてください。この

holder.car.setText(getResources().getString(R.string.mycar));

+0

文字列の値に "false"が表示されています... –

+0

"false"とはどういう意味ですか? – user1417127

2

あなたが最初にあなたのリソースを取得する必要があり、コールmedthodのはgetString(int型)、ではないのgetTextあなたが置いてきましたか?

だから、それは次のようになります。

getResources().getString(R.String.mycar); 
2

これを試してみてください。あなたがActivityを延長せずに、クラス内の文字列を取得している場合。これはあなたを助け、あなたのContext

holder.car.setText(context.getResources().getString(R.string.mycar)); 

あなたが拡張している場合Activity

holder.car.setText(yourActivity.this.getResources().getString(R.string.mycar)); 

希望を使用して取得します

+0

'context'の代わりに' getActivit() 'を書くことができますか?何か問題がありますか? – mehmet

+0

@mehmetあなたの要求によって異なります。 [こちらのドキュメント](http://developer.android.com/reference/android/app/Fragment.html#getActivity()) – Praveenkumar

3

R.string.mycar R.string.yearはリソースのIDだけです。この理由から、あなたは数字を得ます(IDは数字です)。あなたはこの構造を使用するために必要なリソースから文字列を取得するには

String myCar = getResources().getString(R.string.mycar); 

となりましてmyCar変数を使用すると、てmycar名の下のstrings.xmlファイルに入れた文字列を保持しています。

getResources()メソッドはContextに属します。あなたが活動の外にあなたのコードを実行すると、このように、文字列を取得するには、コンテキストのインスタンスを使用します。あなたがそれらを直接使用することはできませんので

String myCar = context.getResources().getString(R.string.mycar); 
0

Rクラスは、あなたのressourcesへのポインタのようなものが含まれている、(getResourcesを使用).getString()、他の人が言うように。

9

あなたの文字列にパラメータを使用しようとしていると思います。あなたが取得する必要

<string name="mycar">Car: %1$s Year: %2$s</string> 

String mycar = getString(R.string.mycar); 
mycar = String.format(mycar, lm.getCarName(), lm.getYear()); 

車:カマロ年:1977

1

を、あなたの文字列から、単なる文字列あなたのTextViewを設定したい場合は

はこれを試してみてください。xmlファイルは、

mytextview.setText(R.String.mycar); 

あなたには、いくつかの文字列または整数の組み合わせで、あなたのTextViewを設定したい場合は、(第一の方法よりも良いが)

int number=5; 

mytextview.setText(getResources().getString(R.String.mycar) + " " +number + " " + getResources().getString(R.String.mysecondcar)); 
+0

を読んでみてください。ありがとう。 –

関連する問題