Странное поведение чекбокса

Интерфейс, диалоги, темы, стили, меню
Ответить
dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Странное поведение чекбокса

Сообщение dimky » 01 май 2015, 21:15

Приветствую всех.
Возникла следующая проблема. Делаю систему тестирования: вопрос и 3 варианта ответа.
Загружаю через хмл с сайта вопросы, вывожу на экран первый вопрос. Выбираю вариант ответа, нажимаю "Следующий вопрос".
В программе все это дело обрабатываю, сбрасываю все чекбосы путем radio0.setChecked(false);
Заполняю все элементы новыми данными от следующего вопроса. После этого не могу отметить тот чекбокс, который был выбран в прошлом вопросе.
Если выберу другой чекбокс, то тот который не выбирался становится доступным для выбора.
Че за?
Благодарю.

dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Re: Странное поведение чекбокса

Сообщение dimky » 03 май 2015, 11:18

Вот код отвечающий за вывод нового вопроса:

Код: Выделить всё

public void load_question(int id)
		   {
                this.findViewById(R.id.image).setVisibility(View.GONE);

                questions = doc.getElementsByTagName("question");
	        	e = (Element) questions.item(id);
	        	question.setText(ParseXMLMethods.getValue(e, "title"));
	        	
	        	radio0.setText(ParseXMLMethods.getValue(e, "answer_1"));
	        	radio1.setText(ParseXMLMethods.getValue(e, "answer_2"));
	        	radio2.setText(ParseXMLMethods.getValue(e, "answer_3"));
	        	
	        	radio0.setChecked(false);
	        	radio1.setChecked(false);
	        	radio2.setChecked(false);

               if(!ParseXMLMethods.getValue(e, "image").equals(""))
               {
                   new DownloadImageTask((ImageView) findViewById(R.id.image)).execute(ParseXMLMethods.getValue(e, "image"));
               }
	        	
	        	id++;
	        	
	        	quiz_progress.setProgress((100/30) * id);
	        	
	        	quiz_count.setText(id + " of 30");			   
		   }

dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Re: Странное поведение чекбокса

Сообщение dimky » 04 май 2015, 16:05

Проблему решил.
Решение заключалось в следующем: после загрузки нового вопроса следует для радиогруппы, к которой относятся данные чекбоксы, применить clearCheck.
Вот такие пироги.

Ответить