我正在使用以下代码创建自己的对话框:
public void ShowMessageDialog(String str){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(str);
builder.setCancelable(false);
builder.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alert = builder.create();
alert.show();
}
它工作正常,但在此函数中使用时,它似乎会自动消失:
public void test(String str){
ShowMessageDialog("About to start new activity");
Intent intent = new Intent(this,PageViewer.class);
startActivity(intent);
}
似乎新活动已经创建并且显然摆脱了对话框.但为什么?在打开新活动之前,活动是否应该停止?
谢谢!
解决方法:
即将触发的意图不会等待您的对话框被取消.因此,在显示对话框后,将启动新的活动.你可以像这样完成你想要的东西:
public void ShowMessageDialog(String str){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(str);
builder.setCancelable(false);
builder.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Intent intent = new Intent(this,PageViewer.class);
startActivity(intent);
}
});
AlertDialog alert = builder.create();
alert.show();
}
public void test(String str){
ShowMessageDialog("About to start new activity");
}
标签:android,dialog
来源: https://codeday.me/bug/20190518/1127902.html