Android setText/R.string/values
我在使用格式和多个值设置文本视图中的文本时遇到问题。Android setText/R.string/values
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)
一些其他的 “解决方案”,它仍然没有工作。
这将是巨大的,如果有人能帮助我,谢谢
试试这个
holder.car.setText(getResources().getString(R.string.mycar));
我越来越“虚假”的字符串值... – 2012-07-18 15:54:06
你是什么意思得到“假”? – user1417127 2012-07-19 01:36:17
你必须先检索您的资源,并呼叫的medthod的getString(INT),没有的getText ,你有没有放过。
所以,它应该是:
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));
希望这有助于你..
而不是'context'我们可以写'getActivit()'吗?有没有问题 – mehmet 2014-05-08 15:11:32
@mehmet这取决于你的要求。阅读[文档在这里](http://developer.android.com/reference/android/app/Fragment.html#getActivity()) – Praveenkumar 2014-05-09 04:45:36
R.string.mycar和R.string.year只是资源的ID。出于这个原因,你得到的数字(ID是数字)。
要从你需要使用这种结构的资源得到的字符串:
String myCar = getResources().getString(R.string.mycar);
现在myCar变量保存,放在strings.xml档案中下mycar名的字符串。
方法getResources()属于上下文。如果你的活动之外运行的代码,使用上下文实例来获取字符串,像这样:
String myCar = context.getResources().getString(R.string.mycar);
R类含有一种指针,以你的ressources,所以你不能直接使用它们,使用getResources( ).getString(),正如其他人所说。
我想你正尝试在你的字符串中使用参数。如果你想设置你的TextView只是从你的字符串的字符串1977年
:
试试这个:
<string name="mycar">Car: %1$s Year: %2$s</string>
String mycar = getString(R.string.mycar);
mycar = String.format(mycar, lm.getCarName(), lm.getYear());
你应该得到:
汽车:Camaro的新年。xml文件,
mytextview.setText(R.String.mycar);
如果你想设置一些字符串或整数的组合你的TextView,(比第一种方式更好)
int number=5;
mytextview.setText(getResources().getString(R.String.mycar) + " " +number + " " + getResources().getString(R.String.mysecondcar));
它适用于我。谢谢。 – 2017-03-30 23:57:10
什么是“还是不行”的意思?你能指望什么? – Blackbelt 2012-07-18 07:32:07
这是因为'R.string.mycar'是一个引用资源的int。这不是实际的资源。 @ user1417127的答案看起来不错。它为您提取实际的字符串资源 – 2012-07-18 07:32:30
使用context.getResources.getString(R.string.xyx)。 – Kamal 2012-07-18 07:38:22