Java 来自资源Android的随机数组
如何使用以下xml从资源文件中获取java中的随机问题: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">
<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);