Ich baue eine Anwendung, die dem Benutzer mehrere Fragen stellt. Jede Frage hat 4 Antworten (Radiobuttons), die der Benutzer wählen muss. Ich möchte eine Aktivität erstellen, die mit den Fragen und Antworten aktualisiert wird.Wie aktualisiert man den Text von Radio-Buttons mit strings.xml
Alle Fragen und Antworten werden in strings.xml
geschrieben:
<!-- Q1 -->
<string name="Q1">Q1</string>
<string name="Q1A1">answer 1</string>
<string name="Q1A2">answer 2</string>
<string name="Q1A3">answer 3</string>
<string name="Q1A4">answer 4</string>
<!-- Q2 -->
<string name="Q2">Q2</string>
<string name="Q2A1">answer 1</string>
<string name="Q2A2">answer 2</string>
<string name="Q2A3">answer 3</string>
<string name="Q2A4">answer 4</string>
....
(ich mehr Fragen in Zukunft über diese Datei und nicht in schwer in der Lage sein wollen Coded hinzufügen Art und Weise)
Wenn der Benutzer auf die nächste Frage zu bekommen, wählt ich die Fragen und Antworten über dynamische Art und Weise aktualisiert werden soll:
private void updateQuestion(int currentQuestion) {
// Update Questions
TextView textView = (TextView)findViewById(R.id.QuestionLabel);
textView.setText(getResources().getString(R.string.Q1)); // ??? how to get string Q#currentQuestion
// Update Answares
RadioGroup radioGroup = (RadioGroup)findViewById(R.id.rgQuestions);
for (int i = 0; i < radioGroup .getChildCount(); i++)
{
// ??? how to get string of Q'currentQuestion'A'i' ????
((RadioButton) radioGroup.getChildAt(i)).setText(getResources().getString(R.string.Q1A1));
}
}
Aber wie kann ich den Text der Radiobuttons (und textView) über strings.xml einstellen, indem Sie den richtigen String-Wert wählen? (Ich möchte die StringRes mit currentQuestion und i Iterator erstellen). Ist es möglich?
in Ihrer Lösung helfen Hoffnung, ich brauche die answerResId manualy einzustellen, wenn 'updateQuestion' aufrufen. Ich möchte R.array_question_'i'_answer –
wählen Nach meinem Denken müssen Sie Array von solchen Ressourcen-IDs pflegen und verwenden es nach Ihren Anforderungen. –