如何将TextView的文本设置为字符串资源?(android的Java)

如何将TextView的文本设置为字符串资源?(android的Java),java,android,textview,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.setT

我想将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);
但是,当我运行应用程序时,文本将更改为@string/help00,而不是我在strings.xml中help00下存储的文本

如何解决此问题?

试试这个

String help = "0";
final TextView tvHelp = (TextView) findViewById(R.id.help);
String yourString = getResources().getString(R.string.help);
tvHelp.setText(yourString +help)
试试这个

String help = "0";
final TextView tvHelp = (TextView) findViewById(R.id.help);
String yourString = getResources().getString(R.string.help);
tvHelp.setText(yourString +help)

因为您已将字符串资源id与普通字符串帮助合并,所以它可以作为字符串使用。您必须从android资源获取第一个资源字符串,然后需要使用本地字符串变量concat,如

help.setTextgetResources.getStringR.string.help+help

正如我所怀疑的,如果您正在寻找动态字符串id,那么您希望字符串资源id具有已存在的id并附加“0”,然后使用..从字符串中获取int资源id

int resourceId = this.getResources().getIdentifier("@string/help" + help, "string", this.getPackageName());
然后


help.setTextresourceId

因为您已将字符串资源id与普通字符串帮助合并,所以它可以作为字符串使用。您必须从android资源获取第一个资源字符串,然后需要使用本地字符串变量concat,如

help.setTextgetResources.getStringR.string.help+help

正如我所怀疑的,如果您正在寻找动态字符串id,那么您希望字符串资源id具有已存在的id并附加“0”,然后使用..从字符串中获取int资源id

int resourceId = this.getResources().getIdentifier("@string/help" + help, "string", this.getPackageName());
然后


help.setTextresourceId

我认为strings.xml资源文件内容在运行时无法编辑。 现在我假设您的strings.xml文件中有以下内容

<resources>
    <string name="app_name">Application Name</string>
    <string name="help0">Text1</string>
    <string name="hellp00">Text2</string>
</resources>

我认为strings.xml资源文件内容在运行时无法编辑。 现在我假设您的strings.xml文件中有以下内容

<resources>
    <string name="app_name">Application Name</string>
    <string name="help0">Text1</string>
    <string name="hellp00">Text2</string>
</resources>

help00是在strings.xml文件中声明的吗?您是希望文本末尾的0还是希望获取help0的字符串资源id?@codeMagic,orb这太令人困惑了,不是吗?是的,声明了。当应用程序启动时,将显示strings.xml中help0的值,我想将其更改为strings.xml中help00的值。您的strings.xml文件中是否声明了help00?您希望文本末尾的0还是希望获得一个字符串资源id help0?@codeMagic,orb这太令人困惑了,不是吗?是的,声明了。当应用程序启动时,将显示strings.xml中的help0值,我想将其更改为strings.xml中的help00值。我的问题是,我正在更改“stringId”,因此在更改后,我可以用什么方式将其更改为其他内容?在stringId的和处添加一个“0”,使其成为StringID0这仍然只会在我遇到的情况下向显示的文本添加一个“0”:我的问题是,我正在更改“stringId”,因此在更改它之后,我可以用什么方式将其更改为其他内容?在stringId的和处添加一个“0”,使其成为StringID0这仍然只是在我遇到的情况下向显示的文本添加一个“0”:我不想向显示的文本添加一个“0”,而是向字符串的ID添加一个“0”,就像我在xml中将其从android:text=@string/help0更改为android:text@string/救命啊。我有办法做到这一点吗?更新:我看到了您的更新,谢谢:我会检查类似的值,我不想在显示的文本中添加“0”,但在字符串的ID中添加“0”,就像我在xml中将其从android:text=@string/help0更改为android:text@string/救命啊。我有办法做到这一点吗?更新:我看到了你的更新,谢谢:我会检查类似的值