how to extract the name attribute from string arra

2019-01-11 20:23发布

问题:

Hi I build a quiz application. I have the following (values/)question.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="question">
<item name="correct">A</item>
<item name="wrong">B</item>
<item name="wrong">C</item>
<item name="wrong">D</item>
</string-array>
</resources>

I would like to have a question with four possible answers but when i retrieve my answers in Java.. I don't know which answer is correct. So I decided to use name attribute in the item tags to pass a value of 'correct' or 'wrong' answer. Is there anyway to get the name along with the tag value?

because when i use String[] test = res.getStringArray(R.array.question); I can only get the value of each item in my array.

or because this is my 1st time in Android. is there other suitable approach to do this?

thanks

回答1:

You need to use Handler to parse the xml. to get attribute value, code is :

attributes.getValue("name")

Try these links for reference: first and second



回答2:

I have made many quizzes, and one nice way is to put correct option always on top, right after question. You can use random function to shuffle options while displaying in an activity.



回答3:

in Activity: String[] questionArray = getResources().getStringArray(R.id.question); then you have

  • questionArray[0] -> A
  • questionArray[1] -> B
  • questionArray[2] -> C
  • questionArray[3] -> D