2015-08-06 2 views
0

Как практика, я делаю это очень простое приложение, которое позволяет пользователям отвечать на несколько вопросов, чтобы решить, предпочитают ли они собак или кошек. Я использую dogCounter и catCounter int переменные, чтобы подсчитать, сколько ответов про-собака или про-кошка.(Android) RadioButton: сброс события, если он не выбран?

У меня есть один вопрос, который спрашивает: какое животное является самым симпатичным?

Если они выбирают «собак», например, приложение добавляет 1 к dogCounter. Но если позже они решили выбрать «кошек», то значение dogCounter останется тем же (что равно 1). Я пытаюсь сделать так, что если «собаки» не выбраны после того, как ранее выбраны, dogCounter вернется к 0.

Я не уверен, что делать после этого:

public void setCutestQuestion3(RadioGroup radioGroup) { 
    radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 

     @Override 
     public void onCheckedChanged(RadioGroup group, int checkedId) { 

      radioButtonCutest = (RadioButton) findViewById(checkedId); 

      if (radioButtonCutest != null) { 

       if (radioButtonCutest.getText().equals("Dogs")) { 
        dogCounter += 1; 

       } else if (radioButtonCutest.getText().equals("Cats")) { 
        catCounter += 1; 
       } 
      } 
     } 
    }); 
} 

Мог кто-то, пожалуйста, помогите? Мне стыдно сказать, что я потратил два дня, пытаясь понять это.

Заранее спасибо.

ответ

0

Если я правильно понимаю, для каждого вопроса вы отвечаете на два вопроса, которые определяют, предпочитает ли пользователь кошку или собаку правильно? В этом случае отмени собаку также означает, выберите кошку:

public void setCutestQuestion3(RadioGroup radioGroup) { 
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 

     radioButtonCutest = (RadioButton) findViewById(checkedId); 

     if (radioButtonCutest != null) { 

      if (radioButtonCutest.getText().equals("Dogs")) { 
       dogCounter += 1; 
       catCounter -= 1 

      } else if (radioButtonCutest.getText().equals("Cats")) { 
       catCounter += 1; 
       dogCounter -= 1; 
      } 
     } 
    } 
}); 
} 

Надеется, что это помогло

+0

Такого простого решения. Я чувствую себя таким простаком. Огромное спасибо. Это работает! –

+0

Я знаю, что чувствую, что это уже случилось со мной;) повеселиться со своим приложением –

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