我是编程的新手,我正在尝试使用Android Studio创建Android应用。我试过搜索,但我的发现似乎并不是我想要的,因为它们似乎过于复杂。我在下面写的只是一个例子。
当用户输入“whale”时,我希望能够从string.xml返回一个字符串。在这种情况下,字符串是关于鲸鱼的信息。
这是我的java文件,animal已经是从表单输入的字符串。
TextView textview = new TextView(this);
String animalType = "water_" + animal; // This become water_whale if user typed whale
String animalInfo = getString(R.string.animalType); // This doesn't work
textView.setText(animalInfo);
这是我的string.xml
<string name="water_fish">Fish is a small bla...</string>
<string name="water_whale">A whale is an enourmous blabla...</string>
<string name="land_giraffe">Africa.</string>
我可能已经通过这种特殊的方式进行了隧道运输,我可能会错过一些显而易见的事情,或者有其他方法可以做到这一点吗?
答案 0 :(得分:0)
R.string.anyIdentifer
表示整数值。您无法使用它添加自己的标识符,只是无法在任何类上调用任何不存在的属性。如果你想用它的名字动态访问任何资源,那么就有不同的方法。
使用此
TextView textview = new TextView(this);
String animalType = "water_" + animal;
int animalTypeId = getResources().getIdentifier(animalType, "string", getActivity().getPackageName())
String animalInfo = getResources().getString(animalTypeId);
textView.setText(animalInfo);
答案 1 :(得分:0)
String string=getResources().getString(R.string.water_whale);
您无法直接使用getString()
方法。