我有一个对话框,查看互联网是否打开。如果它没有打开,我会弹出一个窗口,让您选择打开或关闭应用程序。如果您选择打开数据,它会将您带到设置页面打开数据。问题如下:当您从设置页面向后按下时,对话框仍然存在,但不会被解除。这里是代码:Android:为什么这个对话框会弹出两次?
public void calldialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(
"You need to enable an internet connection in order to use this Chirps:")
.setCancelable(true)
.setPositiveButton("Turn on Data",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent newintent = new Intent(
android.provider.Settings.ACTION_WIRELESS_SETTINGS);
newintent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(newintent);
dialog.dismiss();
}
})
.setNegativeButton("Exit",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Main.this.finish();
}
});
builder.show();
}
当我只有一个选项,对话框正常工作。但只要我添加第二个选项,它会导致按钮显示两次。包含calldialog()的网络检查函数在oncreate和onresume中被调用,这可能是问题的一部分。
这也有帮助,但另一个问题,我与我的问题有关:)。谢谢。 – Nick
应该在onCreate()或onResume()中设置诸如Internet或Location之类的检查吗? – charany1