0

我正在创建一个简单的测验应用程序,它可以使用 array.xml 的资源(没有外部解析器,没有适配器)

<string-array name="Question1">
        <item name="Question">This is Question1</item>
        <item name="Answer">option1</item>
        <item name="option1">option2</item>
        <item name="option2">option3</item>
        <item name="option3">option4</item>
</string-array>

我得到了这段代码的所有元素

String[] quesArray = getResources().getStringArray(R.array.Question1);

现在我想得到字符串“Answer”,以便进一步使用和操作它怎么可能?我试过了

int resId = context.getResources().getIdentifier("Answer", "string", getPackageName());

但它给出了错误

android.content.res.Resources$NotFoundException: String resource ID #0x0
4

5 回答 5

1

尝试如下:

<string-array name="Question1">
    <item>This is Question1</item>
    <item>option1</item>
    <item>option2</item>
    <item>option3</item>
    <item>option4</item>
 </string-array>
 String[] quesArray = getResources().getStringArray(R.array.Question1);
 int resId = context.getResources().getIdentifier("Answer", "string", getPackageName());
于 2013-02-15T13:48:11.013 回答
0
<string name="question">This is Question1</string>
<string name="answer">Answer</string>

<string-array name="question1">
    <item>@string/question</item>
    <item>@string/answer</item>
</string-array>
于 2013-02-15T13:40:13.553 回答
0

StringArray 不是 String 资源(这是您在 getIdentifier 中要求的)。

鉴于您的字符串数组中有一个带有问题、答案、选项的固定结构,执行您建议的最简单方法就是使用您采用的固定索引。那就是 - 给定一个这样的数组:

<string-array name="Question1">
    <item>This is Question1</item>
    <item>1</item>
    <item>option1</item>
    <item>option2</item>
    <item>option3</item>
</string-array>

按如下方式访问您的答案(请注意,我将您的答案“字符串”替换为正确答案的索引):

final int QUESTION = 0;
final int ANSWER = 1;
String question = quesArray[QUESTION];
String answer = quesArray[Integer.parseInt(quesArray[ANSWER]) + 1)];
于 2013-02-15T13:41:22.607 回答
0

字符串数组的格式正确,如下所示:

<string-array name="question1">
<item>option 1</item>
<item>option 2</item>
</string-array>

我从未见过你使用它的方式。
http://developer.android.com/guide/topics/resources/string-resource.html了解更多信息。

于 2013-02-15T13:32:47.267 回答
0

尝试这个:

<?xml version="1.0" encoding="utf-8"?>  
<resources>  
<string-array name="testArray">  
    <item>first</item>  
    <item>second</item>  
    <item>third</item>  
    <item>fourth</item>  
    <item>fifth</item>  
 </string-array>
</resources>

并尝试此链接,这将对您有所帮助:

帮助从 arrays.xml 文件中获取字符串数组

于 2013-02-15T13:34:59.760 回答