フォーマットと複数の値を持つテキストビューでテキストを設定するのに問題があります。
_holder.car.setText(R.string.mycar + lm.getCarName() + R.string.year + lm.getYear());
_
これは私に「2143545カマロ21432131977」を与えています
私はウェブから他のいくつかの「解決策」を試しました
_holder.car.setText(getString(R.string.mycar) + lm.getCarName() + getString(R.string.year) + lm.getYear()); << not work, getString undefine>>
_
String.valueOf(R.string.mycar); getResources().getText(R.String.mycar)
を試しましたが、それでも機能しませんでした。
誰かが私を助けてくれるといいですね、ありがとう
これを試して
holder.car.setText(getResources().getString(R.string.mycar));
文字列でパラメータを使用しようとしていると思います。
これを試して:
<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
R.string.mycarとR.string.yearは、リソースのIDのみです。このため、番号を取得します(IDは数値です)。
リソースから文字列を取得するには、次の構造を使用する必要があります。
String myCar = getResources().getString(R.string.mycar);
これで、myCar変数は、strings.xmlファイルにmycar名で入力した文字列を保持します。
getResources()メソッドはContextに属しています。アクティビティの外部でコードを実行する場合は、次のようにコンテキストインスタンスを使用して文字列を取得します。
String myCar = context.getResources().getString(R.string.mycar);
String.xmlファイルから文字列だけをテキストビューに設定する場合は、
mytextview.setText(R.String.mycar);
いくつかの文字列または整数の組み合わせでテキストビューを設定する場合(最初の方法よりも優れています)
int number=5;
mytextview.setText(getResources().getString(R.String.mycar) + " " +number + " " + getResources().getString(R.String.mysecondcar));
これを試して。 Activity
を拡張せずにクラスで文字列をフェッチしている場合はContext
を使用してください
holder.car.setText(context.getResources().getString(R.string.mycar));
Activity
を拡張する場合
holder.car.setText(yourActivity.this.getResources().getString(R.string.mycar));
これがお役に立てば幸いです。
最初にリソースを取得する必要があり、getTextではなくgetString(int)メソッドを呼び出します。
したがって、次のようになります。
getResources().getString(R.String.mycar);
Rクラスには、リソースへの一種のポインターが含まれているため、それらを直接使用することはできません。他の人が言うように、getResources()。getString()を使用してください。