2010-07-13 2 views
2

i am gettin 1 проблема в приложении d Android, которую я сделал.android - управляющее состояние RadioButton

-> у меня есть 3 RadioButton на экране 1 активности

-> после того, как нажата кнопка (на той же деятельности) текст, связанный со всеми ними должны меняться и все RadioButton должен быть снят и должны быть интерактивными

текст правильно меняется и RadioButton-х становится бесконтрольно, но проблема я облицовка, что:

  1. , если предположит, что RadioButton-не выбран, а затем после нажатия кнопки удается нажать ту же самую RadioButton, пока я щелчок s ome другой RadioButton.

Почему так?

+1

Не могли бы вы опубликовать код для нас, чтобы посмотреть? – matto1990

ответ

1

Part1

RadioButton option1 = (RadioButton) findViewById(R.id.RadioButton01); 
option1.setText(temp.substring(answerCount[0]+1, answerCount[1])); 

if(option1.isChecked()) 
{ 
    score+=1; 
} 

Ч.2

option1.setChecked(false); 
option1.setClickable(true); 
option1.setText(temp.substring(answerCount[aCount]+1, answerCount[aCount+1])); 

Часть 1 выполняется Ist, а затем часть 2 является частью 1 из моих методов .. является то, что достаточно ??

+0

Почему бы просто не изменить исходный вопрос, чтобы включить этот код? – Amos

+0

нет, я обнаружил ошибку. В моей .java у меня были экземпляры всех радиообъектов, но не радиогруппы. Как только я сделал экземпляр RadioGroup, я вызвал clearCheck(), чтобы избавиться от этой проблемы. в любом случае спасибо вам за помощь – poojan9118

2

решение для будущих читателей

создать экземпляр RadioGroup в .java файл и вызвать instance.clearCheck()

1

Не используйте метод RadioButton.setChecked непосредственно. метод использования RadioGroup.check для проверки RadioButton programmabaly

rg = (RadioGroup) findViewById(R.id.myFavouriteGroup); 
int selectedItem = 0; // the fist item in rgGroup must be selected 
.... do something .... 
if (selectedItem >= 0) 
{ 
    rg.check(rg.getChildAt(selectedItem).getId()); 
} 
.... 

После этого пользователь может изменить выбранный элемент на другой.