我有举动提醒警报对话。 接下来,我关闭对话框并使用Intent启动一个新的Activity。对话框被关闭,对话框的onStop和onDismissDialog回调被通知,新活动已打开。
当我完成第二个活动时(通过调用Activity.finigh()或使用adb终止proccess)会出现问题。第一个活动再次显示但对话框仍在那里。
如果用户通过按回退出第二个活动,则不会发生这种情况。
示例代码为:
public class FirstActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Dialog title").setPositiveButton(
"Open new activity", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
Intent i = new Intent(FirstActivity.this,
SecondActivity.class);
startActivity(i);
}
});
builder.create().show();
}
}
我尝试使用Activity.showDialog()和Activity.dismissDialog()打开并关闭对话框,但它的工作方式相同,
我做错了什么?任何想法??
谢谢
答案 0 :(得分:0)
试试dismiss();
代替dialog.dismiss();
答案 1 :(得分:0)
你在onCreate()方法中的最后一个语句有一个链式调用,最后一个调用是“show()”...我建议你删除它,因为每次你创建你正在创建的Activity并显示对话框
将对话框创建语句移动到onCreateDialog()方法。如果要显示它,请调用“showDialog()”。