你好朋友我做了一个警告对话框,当没有网络连接时被触发,当人们点击确定按钮时,他将被定向到没有Internet.class它工作正常,但真正的问题是当用户点击后台时警报对话框它自动被解雇。我怎么能停止? 我的意思是取消对话框。我也使用了这个方法SetCancelable(false);但它没有用。它给出了一个错误。
以下是我的代码
AlertDialog.Builder alert = new AlertDialog.Builder(this,R.style.AppCompatAlertDialogStyle);
alert.setTitle("Internet Problem");
alert.setMessage("No Internet!!!");
// alert.SetCancelable(false);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//Do something here where "ok" clicked and then perform intent from activity context
Intent intent = new Intent(BaseActivity.this, NoInternet.class);
BaseActivity.this.startActivity(intent);
}
});
答案 0 :(得分:9)
只需添加alert.setCancelable(false);
即可。它之所以不起作用(来自代码中的注释)是因为你之前使用了错误的方法名称。
AlertDialog.Builder alert = new AlertDialog.Builder(...);
alert.setCancelable(false); // not SetCancelable(false). Case sensitive
});
答案 1 :(得分:2)
Dialog dialog = new Dialog(context)
dialog.setCanceledOnTouchOutside(false);
答案 2 :(得分:0)
使用setCancelable(false)
方法。希望它有所帮助。