Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 来自资源Android的随机数组_Java_Android_Arrays_Xml - Fatal编程技术网

Java 来自资源Android的随机数组

Java 来自资源Android的随机数组,java,android,arrays,xml,Java,Android,Arrays,Xml,如何使用以下xml从资源文件中获取java中的随机问题: <array name="question1"> <item name="id">1</item> <item name="question">Question 1?</item> <item>@array/possible_answers1</item> <item name="correct_answer">

如何使用以下xml从资源文件中获取java中的随机问题:

<array name="question1">
    <item name="id">1</item>
    <item name="question">Question 1?</item>
    <item>@array/possible_answers1</item>
    <item name="correct_answer">1</item>
</array>
    <string-array name="possible_answers1">
        <item>Answer1</item>
        <item>Answer2</item>
        <item>Answer3</item>
        <item>Answer4</item>
    </string-array>

<array name="question2">
    <item name="id">2</item>
    <item name="question">Question 2?</item>
    <item>@array/possible_answers2</item>
    <item name="correct_answer">3</item>
</array>
    <string-array name="possible_answers2">
        <item>Answer1</item>
        <item>Answer2</item>
        <item>Answer3</item>
        <item>Answer4</item>
    </string-array>
但我怎样才能得到随机的问题呢? 谢谢你的阅读

这将起作用:

Random rand = new Random();
int numberOfQuestion = 3;//For example
int randomQuestionID = this.getResources().getIdentifier("question"+rand.nextInt(numberOfQuestion), "array", this.getPackageName());
str_question = res.getStringArray(randomQuestionID)[1];

创建问题数组的所有id的整数数组:

int[] question_arr=new {R.array.question1,R.array.question2,...};
Random randnum = new Random();
从问题\u arr获取随机数组id:

int question_index=question_arr[randnum.nextInt(question_arr.length)];
String[] str_quest = res.getStringArray(question_index);

您的
XML
格式不正确,没有一个根目录。您能帮我在一个根目录中实现所有问题吗?我应该怎么做?看看这些示例:这里似乎有两个独立的问题:(1)如何将XML(资源)文件加载到Java集合中?以及(2)如何从该集合中随机选取项目?你需要帮助哪一个?就是这个。谢谢您。
int question_index=question_arr[randnum.nextInt(question_arr.length)];
String[] str_quest = res.getStringArray(question_index);