在具有格式和多个值的文本视图中设置文本时遇到问题。
holder.car.setText(R.string.mycar + lm.getCarName() + R.string.year + lm.getYear());
这是给我的“2143545卡米洛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)
,仍然没有工作。
如果有人能帮我就太好了,谢谢
8条答案
按热度按时间laik7k3q1#
试试这个
holder.car.setText(getResources().getString(R.string.mycar));
krcsximq2#
我认为你试图在字符串中使用参数。
试试这个:
您应该获得:
汽车:Camaro年份:1977
f3temu5u3#
如果您想将文本视图设置为string.xml文件中的字符串,
如果你想用一些字符串或整数的组合来设置你的文本视图,(比第一种方法更好)
ckx4rj1h4#
字符串.mycar和字符串.year只是资源的ID,因此你得到的是数字(ID是数字)。
要从资源中获取字符串,需要使用以下构造:
现在myCar变量保存了您放入strings.xml文件中的字符串,该字符串位于mycar名称下。
getResources()方法属于Context。如果在Activity外部运行代码,请使用上下文示例获取字符串,如下所示:
zd287kbt5#
如果你在类中读取字符串而不扩展
Activity
,那么使用你的Context
如果要扩展
Activity
希望这对你有帮助。
ergxz8rk6#
您必须首先检索资源,并且调用方法getString(int),而不是getText。
所以,应该是:
qgelzfjb7#
R类包含指向资源的指针,因此不能直接使用它们,如其他人所说,使用getResources().getString()。
hiz5n14c8#
你必须使用
公正。
context
是传递给适配器的活动。对我很有效。