我´我在android工作室用java编程。
我只是不知道´我不明白为什么会这样:
我工作的结果 setText()
方法始终相同:“0”显示为buttontext。
这个 setText
我的按钮的方法:
button_adj1.setText(String.valueOf(getResources().getIdentifier("adj"+ counter,"String", getPackageName())));
计数器变量工作正常,并在单击后递增,这将提取 counter+1
第二次单击时的项目。
如果我替换 counter
例如。 3
,结果也是 0
.
硬编码尝试:
button_adj1.setText(String.valueOf(getResources().getIdentifier("adj"+ 3,"String", getPackageName())));
资源文件: res/strings.xml
:
<string name="adj1">Test0</string>
<string name="adj2"Test1</string>
<string name="adj3">Test2</string>
<string name="adj4">Test3</string>
<string name="adj5">Test4</string>
<string name="adj6">Test5</string>
<string name="adj7">Test6</string>
<string name="adj8">Test7</string>
<string name="adj9">Test8</string>
<string name="adj10">Test</string>
还有其他可能的方法吗?
我想 String.valueOf
正在转换的结果 getResources.getIdentifier
变成绳子?
1条答案
按热度按时间nzk0hqpo1#
尝试将其从以下位置更改:
收件人:
变化:
在调用中使用“string”而不是“string”
getIdentifier()
->这就解决了TextView
正在设置为0
删除valueOf
而是将字符串的资源id传递给setText()
->这样可以防止TextView
正在设置为2131755036
例如setText()
有几个不同的重载。但您要确保调用此命令:不是这个:
另一方面,如果您想使用后者重载,那么
getString()
必须通过传递资源id的整数值来调用。文本查看文档