当我的提交按钮被点击时,它会调用一个方法来检查某个 EditText 是否为空,并相应地显示一条 toast 消息作为错误消息。但是,如果我快速点击提交,它会“排队”很多 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,因此它们被系统“排队”并一个接一个地显示。您可以尝试以下操作,以确保您只是做一个 toast ,并在需要时简单地展示它:
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();
}
}
关于android - Toast 消息正在排队?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16621737/