在我的应用程序中,在按钮上单击我创建一个Toast as -
Toast.makeText(context,"Please Enter Username",Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)
但是当有人点击按钮5-6次并关闭应用程序,或者进入另一个屏幕时,它仍然会在另一个屏幕上继续显示Toast一段时间.我见过很多相同的解决方案.
我试过了 -
toast = Toast.makeText(LoginActivity.this, message, Toast.LENGTH_SHORT);
toast.show();
Run Code Online (Sandbox Code Playgroud)
并取消了这个吐司 -
onPause(){
if(toast!=null){
toast.cancel();
}
Run Code Online (Sandbox Code Playgroud)
同样的 onDestroy()
我希望当任何人点击按钮5-6次并离开应用程序或该活动时,toast消息应该消失.或建议任何替代解决方案.
Sam*_*Sam 16
但它给了我一个力量接近 - 使用Toast.makeText()从未调用Toast.
您可以创建一个字段变量和方法,一次只显示一个Toast:
Toast toast;
public void displayToast(String message) {
if(toast != null)
toast.cancel();
toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
toast.show();
}
Run Code Online (Sandbox Code Playgroud)
并在onPause()退出时取消任何现有的Toast:
protected void onPause() {
if(toast != null)
toast.cancel();
super.onPause();
}
Run Code Online (Sandbox Code Playgroud)
现在,无论何时想要显示Toast,只需调用:
displayToast("Please Enter Username");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5282 次 |
| 最近记录: |