2016-01-19 2 views
1

Привет, я создаю приложение для викторины. Я хочу, чтобы добавить функцию в моей кнопки отправки, где если пользователь вратаря выбрать любой ответ в радиокнопки будет сообщение «выберите ответ пожалуйста» Вот кодУведомление об уведомлении Android quiz

public void onClickNext(View view) { 
    String level = getIntent().getExtras().getString("level"); 
    DbHelper db = new DbHelper(this); 
    db.getQuestByLevel(level, qnum); 

    RadioGroup grp = (RadioGroup) findViewById(R.id.questionAndAnswers); 
    RadioButton answer = (RadioButton) findViewById(grp.getCheckedRadioButtonId()); 
    if (corAnswer != null && corAnswer.equalsIgnoreCase((String) answer.getText())) { 
     score++; 
     Log.d("answer", "Your score" + score); 
    } 
    if (qnum <= 5) { 

    } 
    else { 
     Intent intent = new Intent(QuizActivity.this, ResultActivity.class); 
     Bundle b = new Bundle(); 
     b.putInt("score", score); 
     intent.putExtras(b); 
     startActivity(intent); 
     finish(); 
    } 

    txtQuestion.setText(db.question); 
    rda.setText(db.optionA); 
    rdb.setText(db.optionB); 
    rdc.setText(db.optionC); 
    rdd.setText(db.optionD); 
    corAnswer = db.answer; 
    qnum++; 
    rdgrp.clearCheck(); 
} 

}

+1

и ... Я полагаю, что-то не работает? Если да, то каким образом? – 0X0nosugar

+0

его, когда я оставляю радиогруппу пустым (notchecked), затем нажимаю кнопку отправки – Cyril

+0

, а затем что происходит? или не происходит? – 0X0nosugar

ответ

0

В следующая строка

RadioButton answer = (RadioButton) findViewById(grp.getCheckedRadioButtonId()); 

если нет RadioButton не проверялись, getCheckedRadioButtonId() вернется «-1», и как нет Вида с этим идентификатором, «ответ» будет null.

Таким образом, можно сделать следующий

if (answer == null) 
{ 
    Toast.makeText(MyActivity.this, "select an answer please", Toast.LENGTH_SHORT).show(); 

    // nothing more to do here so 
    return; 
} 
if (corAnswer!= null && corAnswer.equalsIgnoreCase((String) answer.getText()) 
{ 
    // continue as before 
} 
+0

спасибо, очень помогли мне! – Cyril

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