2016-06-01 2 views
0

Android가 처음인데, Android 프로그래밍 The Big Nerd Ranch Guide V2에서 GeoQuiz 앱을 개발 중입니다. 책을 완전히 읽은 후 (1 장) , 나는 퀴즈 응용 프로그램을 만들었습니다. 그러나 정확하고 잘못된 답변을위한 토스트를 표시하지 않습니다! 나는 분명히 뭔가 잘못하고있다 !!, 누군가 나를 도울 수 있을까. 여기 BigNerdRanch의 GeoQuiz 앱이 작동하지 않습니다.

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(); 
    } 
} 

그리고

는 질문 활동

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

토스트를 보여주는 당신이 쇼()를 호출 할 필요가 'Toast.makeText (getApplicationContext(), messageResId, Toast.LENGTH_SHORT) .show(); ' – Vivart

답변

0

당신은 Toast를 만드는,하지만 그것을 보내고하지 show. 이런 식으로, (보여주기 위해 전화 걸기) 및 참조 :

Toast.makeText(getApplicationContext(), messageResId, Toast.LENGTH_SHORT).show(); 
관련 문제