2014-02-10 2 views
0

У меня есть активность, у которой есть группы переключателей, я хочу получить окончательный статус этой группы радиостанций и добавить идентификатор радио в список типа integer.Получение окончательного статуса для переключателя

но моя проблема при выборе варианта 1, а затем вариант 2, я получаю это в идентификаторы радио в списке! но я хочу, чтобы хранить только последние статуи, когда пользователь перейти на другой вид деятельности

Я пытаюсь использовать OnDestroy()

RadioGroup radioGroup = (RadioGroup) findViewById(R.id.RadioGroup04); 

    radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() 
    { 
     public void onCheckedChanged(RadioGroup group, int checkedId) { 
      switch(checkedId){ 
       case R.id.RadioButton11: 

        BatteryActivity.this.Answer = 23 ; 

       break; 

       case R.id.RadioButton08: 
        BatteryActivity.this.Answer = 24 ; 

       break; 
      }// 


     } 
    }); 


} 
@Override 
protected void onDestroy() { 

    ((MyApplication) BatteryActivity.this.getApplication()).setAnswerList(this.Answer); 
    ((MyApplication) BatteryActivity.this.getApplication()).setSectionList(10); 
} 
+0

вместо 'onDestroy()' use 'onStop()'. – SMR

+0

Не могу понять, почему вам нужно хранить только при изменении действий пользователя, вы можете просто обновить глобальный var для этого – GhostDerfel

ответ

0

Помещенный ниже кода в методе OnStop(). Удалите метод checkchangedListener из rediogroup и метод onDestroy() ...

int radioButtonID = radioGroup.getCheckedRadioButtonId(); 
View radioButton = radioGroup.findViewById(radioButtonID); 
int idx = radioButtonGroup.indexOfChild(radioButton); // ID of selected radiobutton 

switch(idx){ 
    case R.id.RadioButton11: 

      BatteryActivity.this.Answer = 23 ; 

      break; 

    case R.id.RadioButton08: 
      BatteryActivity.this.Answer = 24 ; 

      break; 
    } 
+0

по методу остановки, который не работает со мной – user3245658

Смежные вопросы