2013-05-18 3 views
3

제출 버튼을 클릭하면 특정 EditText가 비어 있는지 확인하고 이에 따라 오류 메시지로 토스트 메시지를 표시하는 메소드를 호출합니다. 그러나 제출 작업을 신속하게 수행하면 많은 토스트 메시지를 "대기"합니다. 이 문제를 어떻게 방지 할 수 있습니까?토스트 메시지가 대기 중입니까?

private void checkName() { 
    if (etName.getText().toString().isEmpty()) { 
     Toast toast = Toast.makeText(this, "Please enter your name", Toast.LENGTH_LONG); 
     toast.show(); 
    } else { 
     submit(); 
    } 
} 

답변

5

무엇을 어떻게하면 당신은 따라서 그들은 시스템에 의해 "대기"를 차례로 표시됩니다 때마다 checkName()가 호출 새로운 토스트를 만들 수 있습니다 :

여기 내 방법입니다. 다음을 시도하여 토스트를 만들기 만하면 필요할 때 보여줄 수 있습니다.

Toast mToast; 

private void checkName() { 
    if (etName.getText().toString().isEmpty()) { 
     if (mToast == null) { // Initialize toast if needed 
       mToast = Toast.makeText(this, "", Toast.LENGTH_LONG); 
     } 
     mToast.setText("Please enter your name"); // Simply set the text of the toast 
     mToast.show(); // Show it, or just refresh the duration if it's already shown 
    } else { 
     submit(); 
    } 
} 
관련 문제