У меня есть 10 кнопок переключения группы с 4 переключателями каждая. Когда вы щелкаете одну радиокнопку в группе переключателей, она добавляет значение индекса выбранной радиокнопки в Arraylist. Затем у меня есть кнопка «Сохранить», чтобы сохранить эти значения в базе данных.
public ArrayList<Integer> RightInt(){
for(ToggleGroup tg: toggleRDB()) {
tg.selectedToggleProperty().addListener((observable, oldValue, newValue) ->{
if(newValue != null) {
//adds the index of the selected RadioButton to selectedRDBIndex list
selectedRDBIndex.add(tg.getToggles().indexOf(newValue));
}
});
}
return selectedRDBIndex;
}
//selectedRDBIndex is an ArrayList<Integer> storage.
Приведенный выше код возвращает список целых чисел с 10 значениями.
Этот код является действием, выполняемым кнопкой сохранения.
for(int i = 0; i < 10; i++) {
//answerStore.storeRDB connects to my dataBase to save the values returned by the RightInt() function.
answerStore.storeRDB(i+1, TB, RightInt().get(i));
}
RightInt().clear();
Код выше работает хорошо. Сохраняет и обновляет значения в моей базе данных.
Тогда я решил снова использовать эти значения здесь:
for(int i = 0; i<10 ; i++) {
toggleRDB().get(i).getToggles().get(answerStoration.retrieveDataRDBSet(i+1,TB)).setSelected(true);
}
//toggleRDB() returns a list of toggleGroups.
//answerStoration.retrieveDataRDBSet gets the radioButton integer data in the database that i used to setSelect an index of radioButton in each toggle group.
Я использовал все эти коды, чтобы при выборе радиокнопки пользователь сохранял прогресс. Но после использования приведенного выше кода я не могу обновить данные в моей базе данных. Я надеюсь, что вы поняли мою ситуацию и решили эту проблему. Заранее спасибо.
Я получил несколько подсказок по моей проблеме. Когда я нажимаю переключатель
Это добавляет еще одно место в массиве, поэтому значения не меняются. Теперь мне нужно выяснить, где разместить метод set () или как заменить эти значения. Я хотел бы сказать, что очистка списка не вариант.