可以R.string。在ArrayList中使用?

时间:2016-09-03 18:37:04

标签: java android arraylist

当我构建/运行我的应用程序时,“2131165360”出现在列表视图位置而不是“LegKick Block 1”。为什么输入此代码时会发生这种情况?

arrayList.add(String.valueOf(R.string.legkick_block1));

我可以通过这样做解决我的问题,但我宁愿抓住字符串的值而不是硬编码:

 arrayList.add("LegKick Block 1");

有没有办法将字符串的值放在数组列表中?

2 个答案:

答案 0 :(得分:2)

使用list.add(getString(R.string.legkick_block1));

R.string.any_string

向资源返回一个整数值,您需要使用getResource().getString(R.string.any_string) 或者简单地getString(R.string.any_string)返回映射到您可以在列表中添加的整数资源的字符串对象

答案 1 :(得分:1)

因为R.string返回一个整数,所以不能(单独)使用它作为String值。相反,这样做:

getString(R.string.legkick_block1)

它检索(在这种情况下)legkick_block1

的字符串值

注意:您必须引用一项活动才能发挥作用。这意味着它必须在Activity中使用或引用它。