Android Toast消息正在排队?

Android Toast消息正在排队?,android,toast,Android,Toast,单击“我的提交”按钮时,它会调用一个方法,该方法检查某个EditText是否为空,并相应地将toast消息显示为错误消息。然而,如果我快速点击submit,它会“排队”发送很多toast消息。我怎样才能防止这种情况 以下是我的方法: private void checkName() { if (etName.getText().toString().isEmpty()) { Toast toast = Toast.makeText(this, "Please enter

单击“我的提交”按钮时,它会调用一个方法,该方法检查某个EditText是否为空,并相应地将toast消息显示为错误消息。然而,如果我快速点击submit,它会“排队”发送很多toast消息。我怎样才能防止这种情况

以下是我的方法:

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

每次调用
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();
    }
}