2016-06-01 1 views
0

Ich bin neu bei Android, ich entwickle die GeoQuiz App aus dem Buch "Android Programming The Big Nerd Ranch Guide V2", nachdem ich das Buch gründlich gelesen habe (1. Kapitel) Ich habe die Quiz App gemacht. Aber es zeigt nicht die Toasts für richtige und falsche Antworten! Ich mache definitiv etwas falsch !!, könnte mir jemand helfen.GeoQuiz App von BigNerdRanch funktioniert nicht so wie es sein soll

public class MainActivity extends AppCompatActivity { 

    private Button mTrueButton,mFalseButton,mNextButton; 
    private TextView mQuestionTextView; 

    private Question[] mQuestionBank= new Question[]{ 
      new Question(R.string.question_oceans, true), 
      new Question(R.string.question_mideast, false), 
      new Question(R.string.question_africa, false), 
      new Question(R.string.question_americas, true), 
      new Question(R.string.question_asia, true) 
    }; 

    private int mCurrentIndex=0; 

    private void updateQuestion(){ 
     int question=mQuestionBank[mCurrentIndex].getTextResId(); 
     mQuestionTextView.setText(question); 
    } 

    public void checkAnswer(boolean userPressedTrue){ 
     boolean answerIsTrue=mQuestionBank[mCurrentIndex].isAnswerTrue(); 
     int messageResId=0; 

     if(userPressedTrue == answerIsTrue){ 
      messageResId=R.string.correct_toast; 
     } 
     else 
     { 
      messageResId=R.string.incorrect_toast; 
     } 

     Toast.makeText(getApplicationContext(), messageResId, Toast.LENGTH_SHORT); 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     mNextButton=(Button)findViewById(R.id.next_button); 

     mNextButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       mCurrentIndex = (mCurrentIndex + 1) % mQuestionBank.length; 
       updateQuestion(); 
      } 
     }); 


     mQuestionTextView=(TextView)findViewById(R.id.question_text_view); 

     mTrueButton=(Button)findViewById(R.id.true_button); 
     mTrueButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       checkAnswer(true); 
      } 
     }); 

     mFalseButton=(Button)findViewById(R.id.false_button); 
     mFalseButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       checkAnswer(false); 
      } 
     }); 
     updateQuestion(); 
    } 
} 

Und hier ist die Frage Aktivität

public class Question { 
    private int mTextResId; 
    private boolean mAnswerTrue; 

    public Question(int textResId, boolean answerTrue){ 
     mTextResId=textResId; 
     mAnswerTrue=answerTrue; 
    } 

    public boolean isAnswerTrue() { 
     return mAnswerTrue; 
    } 

    public int getTextResId() { 
     return mTextResId; 
    } 

    public void setTextResId(int textResId) { 
     mTextResId = textResId; 
    } 

    public void setAnswerTrue(boolean answerTrue){ 
     mAnswerTrue=answerTrue; 
    } 
} 
+0

zu zeigen Toast Sie benötigen Show() aufrufen 'Toast.makeText (getApplicationContext(), messageResId, Toast.LENGTH_SHORT) .show(); ' – Vivart

Antwort

0

Sie sind die Toast erstellen, aber nicht show es ing. Machen Sie einen Anruf zeigen() und sehen, wie folgt aus:

Toast.makeText(getApplicationContext(), messageResId, Toast.LENGTH_SHORT).show(); 
Verwandte Themen