Android 如何在应用程序关闭/键盘打开之前停止显示toast(不重叠键盘布局和主页)
我只是想澄清一下我的问题:当call OnStop/OnPause/Edit Text OnClick时,我已经在结束祝酒词了。尽管标题看起来像,但这并不是:抱歉,我找不到更好的标题 因此,我不是问如何关闭toast,而是问如何在完成应用程序之前更新toast closed 举个例子,我的nexus 5 4.4.4自带的闹钟在您删除设置的闹钟时会显示一个通知。如果在关闭/最小化应用程序时,它会关闭toast,然后关闭/最小化应用程序。我会知道允许我这样做的代码 这是我的示例代码:Android 如何在应用程序关闭/键盘打开之前停止显示toast(不重叠键盘布局和主页),android,keyboard,toast,android-toast,Android,Keyboard,Toast,Android Toast,我只是想澄清一下我的问题:当call OnStop/OnPause/Edit Text OnClick时,我已经在结束祝酒词了。尽管标题看起来像,但这并不是:抱歉,我找不到更好的标题 因此,我不是问如何关闭toast,而是问如何在完成应用程序之前更新toast closed 举个例子,我的nexus 5 4.4.4自带的闹钟在您删除设置的闹钟时会显示一个通知。如果在关闭/最小化应用程序时,它会关闭toast,然后关闭/最小化应用程序。我会知道允许我这样做的代码 这是我的示例代码: public
public class MainActivity extends Activity {
private Toast toast;
private Button buttonClick;
private EditText editTextClick;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonClick = (Button) findViewById(R.id.buttonClick);
editTextClick = (EditText) findViewById(R.id.editTextClick);
buttonClick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (toast != null) {
toast.cancel();
}
toast = Toast.makeText(this, "This might close before the app stop", Toast.LENGTH_SHORT);
toast.show();
}
});
editTextClick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
toast = Toast.makeText(this, "This might close before the keyboard open", Toast.LENGTH_SHORT);
toast.show();
if (toast != null) {
toast.cancel();
}
}
});
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
if (toast != null) {
toast.cancel();
}
super.onStop();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
if (toast != null) {
toast.cancel(); // This close toast when stop called
}
super.onPause();
}
}
我试图在每次单击编辑文本时关闭toast通知。但它首先打开键盘,将烤面包和键盘重叠一段时间,然后关闭烤面包
当我关闭应用程序或备用应用程序时也会发生同样的情况。吐司在与其他布局重叠后消失
我已经试着用一根线了;在try catch子句内和iftoast之后!=null{toast.cancel;},但不更改任何内容
在这个示例代码中,我可以做些什么,让它关闭toast,然后执行其他操作,如打开键盘、关闭应用程序、显示最近的应用程序等。也许你不打算这么做,toast的设计方式是,它们在给定的时间后将消失 您可能要做的是将您希望它关闭的事件的Toast duration设置为零,但是要小心,因为cero将类似于将LENGTH_设置为SHORT,您可能需要覆盖可能的值,它们应该是毫秒 尝试在onclick侦听器之外初始化您的toast,这可能会使您的onStop和onPause取消生效,请查看以下答案: