Java 如何通过在名称中添加int从strings.xml获取字符串
单击一个按钮时,将调用方法nextStep。每次点击一个按钮,我想显示不同的信息,第一次是info1字符串,下一次是info2字符串,等等。我想这样做:Java 如何通过在名称中添加int从strings.xml获取字符串,java,android,settext,r.java-file,Java,Android,Settext,R.java File,单击一个按钮时,将调用方法nextStep。每次点击一个按钮,我想显示不同的信息,第一次是info1字符串,下一次是info2字符串,等等。我想这样做: private int info = 1; public void nextStep(View view) { TextView textInfo = (TextView) findViewById(R.id.textInfo); textInfo.setText(R.string.info1); info++
private int info = 1;
public void nextStep(View view)
{
TextView textInfo = (TextView) findViewById(R.id.textInfo);
textInfo.setText(R.string.info1);
info++;
}
当然,这是不可能的。我该怎么办?我真的不想写一个大的if/else或switch语句。谢谢。使用字符串数组或更好的列表,如ArrayList,并用XML中的字符串填充它。然后可以使用getint index方法获取列表中的第i个字符串
如果您使用JAXB来解组XML,您可以设置它来为您创建列表,而无需太多麻烦。使用字符串数组或更好的列表,如ArrayList,并用XML中的字符串填充它。然后可以使用getint index方法获取列表中的第i个字符串 如果您使用JAXB来解组XML,您可以设置它来为您创建列表,而无需太多麻烦 当然,这是不可能的 事实上,是的。可以使用getIdentifier执行以下操作:
private int info = 1;
public void nextStep(View view)
{
TextView textInfo = (TextView) findViewById(R.id.textInfo);
textInfo.setText(R.string.info + info);
info++;
}
是一种在不知道确切名称的情况下获取存储在R中的资源ID的方法。虽然它不是世界上最有效的方法,但在不可能引用R的情况下(如您的情况),它就足够了
该方法返回与R相同的ID;即,getIdentifierinfo1,id。。。;与R.id.info1相同,因为R只是它的编译版本。如果您不确定某个ID是否存在(例如来自外部库的ID),但仍需要引用它,则此方法也适用
当然,这是不可能的
事实上,是的。可以使用getIdentifier执行以下操作:
private int info = 1;
public void nextStep(View view)
{
TextView textInfo = (TextView) findViewById(R.id.textInfo);
textInfo.setText(R.string.info + info);
info++;
}
是一种在不知道确切名称的情况下获取存储在R中的资源ID的方法。虽然它不是世界上最有效的方法,但在不可能引用R的情况下(如您的情况),它就足够了
该方法返回与R相同的ID;即,getIdentifierinfo1,id。。。;与R.id.info1相同,因为R只是它的编译版本。如果您不确定某个ID是否存在(例如外部库中的ID),但仍然需要引用它,则此方法也可以使用。因此,在onCreate方法上,我应该调用一个新方法,例如,fillList,并执行如下操作:infoArrayList.addR.string.info1;infoArrayList.addR.string.info2;ex.infoArrayListR.string.info3;等等。?我做到了,它很有效,但你确定这是最简单/最好的解决方案吗?因为每次我添加新信息时,我也需要将其添加到arraylist。谢谢。@hey:不,我不推荐这么笨重的东西,而是希望使用JAXB从XML文件自动为您创建列表。我不熟悉Android编程,但我相信JAXB是核心Java的一部分,可以供您使用;infoArrayList.addR.string.info2;ex.infoArrayListR.string.info3;等等。?我做到了,它很有效,但你确定这是最简单/最好的解决方案吗?因为每次我添加新信息时,我也需要将其添加到arraylist。谢谢。@hey:不,我不推荐这么笨重的东西,而是希望使用JAXB从XML文件自动为您创建列表。我不熟悉Android编程,但我相信JAXB是核心Java的一部分,可以供您使用。但也许你可以解释一下这个答案?在那里,我修改了我的帖子,添加了一点解释,以及一个指向文档的链接。希望这有点帮助!:这真是太棒了,哇。但也许你可以解释一下这个答案?在那里,我修改了我的帖子,添加了一点解释,以及一个指向文档的链接。希望这有点帮助!: