在android XML资源文件中存储字符串并引用它们
我想知道我是否应该使用资源XML文件来存储所有可能的配方,而不是使用硬编码的ArrayList,问题是我不知道如何使用我已有的方法从资源文件调用 以下是我想要的精简版本:在android XML资源文件中存储字符串并引用它们,android,xml,Android,Xml,我想知道我是否应该使用资源XML文件来存储所有可能的配方,而不是使用硬编码的ArrayList,问题是我不知道如何使用我已有的方法从资源文件调用 以下是我想要的精简版本: int recipeNumber = b.getInt("RECIPE"); //This is taken from another activity final TextView rowTextView = new TextView(this); //Create a textview rowTextV
int recipeNumber = b.getInt("RECIPE"); //This is taken from another activity
final TextView rowTextView = new TextView(this); //Create a textview
rowTextView.setText(R.string.recipeNumber); //This is what i am struggling with
howToLinearLayout.addView(rowTextView); //Add textview to linearlayout
我不知道引用我的资源文件的部分应该放什么。我知道我需要:
rowTextView.setText(R),但我不确定接下来会发生什么
Im存储字符串,例如:
<string name="1">One part Vodka, One part Coke</string>
<string name="2">One part Vodka, One part Lemonade</string>
一份伏特加,一份可乐
一份伏特加,一份柠檬水
这个列表会很长,所以我非常感谢关于存储的任何其他建议,请记住我对这个很陌生
recipeNumber int是将在textview中调用的字符串
感谢您的帮助要在代码中获取字符串资源,请使用getResources()
要获取未知的资源标识符,但要获取已知的资源名称,可以使用以下方法
int identifier = getResources().getIdentifier("" + recipeNumber, "string", "com.your.package.name");
rowTextView.setText(getResources().getString(identifier));
我建议将值存储在代码之外,例如XML或JSON(更快、更容易使用)。我会使用JSON。将列表加载到数组或其他集合中,并以任何方式使用它都非常容易 然后,你可以维护你的食谱,添加新的,维护它等等,而不必接触代码。只需替换XML或JSON(或任何你选择的)并重建你的应用程序
Strings.xml用于用户界面和代码中的文本片段,您可能希望对其进行本地化,并避免硬编码字符串。它并非真正用于存储数据。在我的代码中它仍然无法识别RecipeEnumber部分-它是一个变量,因此我有什么方法可以引用它吗?您可以获取所需资源的标识符知道的名称。请参阅编辑。
int identifier = getResources().getIdentifier("" + recipeNumber, "string", "com.your.package.name");
rowTextView.setText(getResources().getString(identifier));