lev*_*nte 0 java android textview
我想将TextView组件的文本更改为我已经创建的另一个文本strings.xml.当应用程序启动时,显示的文本存储在strings.xml名称"help0"下.我想以编程方式将此名称设置为名称为"help00"的字符串,方法是在名称处放置另一个"0".到目前为止,我已经写了这段代码:
String help = "0";
help = help + "0";
final TextView help = (TextView) findViewById(R.id.help);
help.setText("@string/help" + help);
Run Code Online (Sandbox Code Playgroud)
但是,当我运行应用程序时,文本将更改为"@ string/help00",而不是我在help00下存储的文本strings.xml.
我怎么能解决这个问题?
use*_*305 10
因为你已经使用普通字符串连接了字符串资源id help所以它的工作原理是String.你必须从android资源获取第一个资源字符串,然后需要与本地String变量连接,如,
help.setText(getResources().getString(R.string.help)+help);
我怀疑,如果你正在寻找动态字符串id,你希望String资源id已经存在id并且'0'附加到它然后使用..从String获取int资源id.
int resourceId = this.getResources().getIdentifier("@string/help" + help, "string", this.getPackageName());
Run Code Online (Sandbox Code Playgroud)
然后
help.setText(resourceId);
| 归档时间: |
|
| 查看次数: |
23559 次 |
| 最近记录: |