Android setText/R.string/values

S A*_*mik 8 android textview settext

我在使用格式和多个值的文本视图中设置文本时遇到问题.

holder.car.setText(R.string.mycar + lm.getCarName() + R.string.year + lm.getYear());
Run Code Online (Sandbox Code Playgroud)

这给了我"2143545 Camero 2143213 1977"

我从网上尝试了很少的其他"解决方案"

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

我甚至尝试过String.valueOf(R.string.mycar); getResources().getText(R.String.mycar),但它仍无法正常工作.

如果有人可以帮助我,那将是很好的,谢谢

use*_*127 20

试试这个

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


Ben*_*oli 10

我想你正试图在你的字符串中使用参数.

试试这个:

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

String mycar = getString(R.string.mycar);
mycar = String.format(mycar, lm.getCarName(), lm.getYear());
Run Code Online (Sandbox Code Playgroud)

你应该得到:

汽车:Camaro年份:1977年


小智 6

如果您想将 textview 设置为 string.xml 文件中的字符串,

mytextview.setText(R.String.mycar);
Run Code Online (Sandbox Code Playgroud)

如果你想用一些字符串或整数的组合来设置文本视图,(比第一种方法更好)

int number=5;

mytextview.setText(getResources().getString(R.String.mycar) + " " +number + " " + getResources().getString(R.String.mysecondcar));
Run Code Online (Sandbox Code Playgroud)