2016-06-07 116 views
0

我正在測試應用程序,其中有20個選擇題。我必須將選中的單選按鈕值存儲到一個字符串數組中,以便稍後在應用程序中使用用戶選擇的答案。以下是獲取單選按鈕文本的代碼。現在我怎樣才能將這20個選擇保存到一個數組?將單選按鈕選擇保存爲字符串數組

if (rg.getCheckedRadioButtonId() != -1) { 
       RadioButton uans = (RadioButton) findViewById(rg.getCheckedRadioButtonId()); 
       String ansText = uans.getText().toString(); 
} 
+0

有含20個疑問句或不同的屏幕不同的問題只有一個屏幕? – ManishMenaria

+0

@ManishMenaria它是一個屏幕我正在使用字符串陣列的問題和選項,用戶必須點擊下一步去下一個問題 –

+0

活動保持不變? – ManishMenaria

回答

1

,你可以將它們保存在字符串 的ArrayList中,其中問題的指標,也是陣列

ArrayList<String> answersStringArray= new ArrayList<String>(); 

    if (rg.getCheckedRadioButtonId() != -1) { 
     RadioButton uans = (RadioButton) findViewById(rg.getCheckedRadioButtonId()); 
     String ansText = uans.getText().toString(); 
     answersStringArray.add(ansText); 
    } 
0

你可以聲明HashMap來保存一個

HashMap<String,String> hm=new HashMap<>(); 

使用hm.put(question_number,checked_answer);複選框值一個增加新的價值,HashMap類時,單選按鈕被選中

使用hm.remove(question_number);從HashMap中刪除值如果在檢查後再次檢查問題

在完成測驗後,您可以像這樣遍歷HashMap

for(String key :hm.keySet()){ 
    System.out.println(hm.get(key)); 
    } 
0

你能得到quesText在答案的指數?

嘗試使用HashMap

HashMap<String,String> mMap = new HashMap<>(); 
if (rg.getCheckedRadioButtonId() != -1) { 
    RadioButton uans = (RadioButton) findViewById(rg.getCheckedRadioButtonId()); 
    String ansText = uans.getText().toString(); 
    mMap.put(quesText,ansText); 
} 

如果你僅僅只保存答案,ü可以使用ArrayList

ArrayList<String> mArrayList = new ArrayList<>(); 
if (rg.getCheckedRadioButtonId() != -1) { 
RadioButton uans = (RadioButton) findViewById(rg.getCheckedRadioButtonId()); 
String ansText = uans.getText().toString(); 
mArrayList.add(ansText); 
}