我目前開發自己的測驗應用程序,並考慮與2天的問題。我的測驗提供了兩個變體的問題:多選和單選。所以對於我使用複選框的多項選擇問題,單選按鈕有RadioButtons。檢查RadioButtons的奇怪行爲
如果用戶回答問題並轉到下一個問題,結果將保存在我的SQLite數據庫中。如果他跳回上一個問題,我將顯示保存的結果。
以下是一個示例: 在圖像1上,您會看到左側的5個複選框。這是正確的答案。正確的CheckBoxes是用戶的檢查答案。所以這是你回答問題時得到的屏幕,點擊「下一步」按鈕,然後再回到你的回答問題。對於CheckBox,它工作正常。
在圖片2你看到同樣的用例,但這次有單選題。正如你所看到的,右側沒有選中RadioButton。但事實上,我檢查了中間的答案,結果也保存在我的數據庫中。
如果調試我的應用程序也跳在正確的部分和檢查的權利單選按鈕。但它永遠不會顯示爲已選中狀態,而且我無法在此處找到錯誤。
String resultString = userResultCursor.getString(userResultCursor.getColumnIndexOrThrow(MyDatabase.ResultColumns.RESULT));
String resultArray[] = convertStringToArray(resultString);
List<String> resultList = Arrays.asList(resultArray);
for (String id : resultList) {
if (question.getQuestiontype() == 1) {
for (CheckBox cb : answerCheckBoxes) {
if (cb.getId() == Integer.parseInt(id)) {
cb.setChecked(true);
}
cb.setEnabled(false);
}
}
if (question.getQuestiontype() == 2) {
for (RadioButton rb : answerRadioButtons) {
if (rb.getId() == Integer.parseInt(id)) {
rb.setChecked(true);
}
rb.setEnabled(false);
}
}
可能是什麼問題?
下面是單選按鈕
<LinearLayout
android:id="@+id/layout_singlechoice_answers"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:orientation="vertical">
<RadioGroup
android:id="@+id/myRadioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/rb_answer1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<RadioButton
android:id="@+id/rb_answer2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<RadioButton
android:id="@+id/rb_answer3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<RadioButton
android:id="@+id/rb_answer4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<RadioButton
android:id="@+id/rb_answer5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RadioGroup>
</LinearLayout>
編輯佈局:隨着SAURABH Padwekar溶液它顯示檢查單選按鈕。但經過測試後,我注意到了這一點:有時,如果我想檢查一個RadioButton,它不會被檢查。大多數情況下,它可以工作,但偶爾它不起作用。
請發佈佈局xml單選題 – 0X0nosugar
您是否定義了2組?一個用於左列,另一個用於右列? –
@David Wasser我只在右欄聲明瞭一個RadioGroup –