我无法在具有格式和多个值的文本视图中设置文本。
holder.car.setText(R.string.mycar + lm.getCarName() + R.string.year + lm.getYear());
这是给我“2143545 Camero 2143213 1977”
我已经尝试了一些来自网络的其他“解决方案”
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
如果你想将 textview 设置为 string.xml 文件中的一个字符串,
mytextview.setText(R.String.mycar);
如果你想用一些字符串或整数的组合来设置你的文本视图,(比第一种方式更好)
int number=5;
mytextview.setText(getResources().getString(R.String.mycar) + " " +number + " " + getResources().getString(R.String.mysecondcar));
R.string.mycar 和 R.string.year 只是资源的 ID。出于这个原因,你得到了数字(ID 是数字)。
要从资源中获取字符串,您需要使用此结构:
String myCar = getResources().getString(R.string.mycar);
现在 myCar 变量保存您在 strings.xml 文件中以 mycar 名称放置的字符串。
getResources() 方法属于 Context。如果您在 Activity 之外运行代码,请使用上下文实例获取字符串,如下所示:
String myCar = context.getResources().getString(R.string.mycar);
试试这个。如果你在课堂上获取字符串而不扩展
Activity
使用你的Context
holder.car.setText(context.getResources().getString(R.string.mycar));
如果你要延长
Activity
holder.car.setText(yourActivity.this.getResources().getString(R.string.mycar));
希望这对你有帮助..
你必须先检索你的资源,然后调用方法 getString(int),而不是 getText,你有没有放。
所以,应该是:
getResources().getString(R.String.mycar);
R 类包含指向您的资源的指针,因此您不能直接使用它们,如其他人所说,使用 getResources().getString()。
你必须使用
context.getText(R.string.mycar);
只是。
context
是传递给适配器的活动。