当我构建/运行我的应用程序时,“2131165360”出现在列表视图位置而不是“LegKick Block 1”。为什么输入此代码时会发生这种情况?
arrayList.add(String.valueOf(R.string.legkick_block1));
我可以通过这样做解决我的问题,但我宁愿抓住字符串的值而不是硬编码:
arrayList.add("LegKick Block 1");
有没有办法将字符串的值放在数组列表中?
答案 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中使用或引用它。