当前位置: 首页 > 编程笔记 >

Android中阻止AlertDialog关闭实例代码

蔡修远
2023-03-14
本文向大家介绍Android中阻止AlertDialog关闭实例代码,包括了Android中阻止AlertDialog关闭实例代码的使用技巧和注意事项,需要的朋友参考一下

Android如何关闭AlertDialog.Builder对话框呢?AlertDialog.Builder对话框没有类似finish()或者dismiss()这样的方法。

但是它的父类AlertDialog有dismiss方法,而且AlertDialog.Builder在.show()的时候会得到一个AlertDialog对象,我们就可以用dismiss方法将该Builder关闭。

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
AlertDialog dialog = builder.show(); 
dialog.dismiss(); 

关于Android阻止AlertDialog关闭具体代码如下所示:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("测试");
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.dialogfragment_num_input, null);
builder.setView(view);
builder.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
Field field = null;
try {
//通过反射获取dialog中的私有属性mShowing
field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);//设置该属性可以访问
} catch (Exception ex) {
}
String inputValue = String.valueOf(mEdit.getText());
if (inputValue == null || "".equals(inputValue)) {
try {
//设置dialog不可关闭
field.set(dialog, false);
dialog.dismiss();
} catch (Exception ex) {
}
} else {
//
//做自己的事
//
try {
//关闭
field.set(dialog, true);
dialog.dismiss();
} catch (Exception ex) {
}
}
}
});
builder.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
Field field = null;
try {
//通过反射获取dialog中的私有属性mShowing
field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);//设置该属性可以访问
} catch (Exception ex) {
}
try {
field.set(dialog, true);
dialog.dismiss();
} catch (Exception ex) {
}
}
});
builder.create();
 类似资料:
  • 在我的Espresso测试执行和AlertDialog会被提示并等待用户响应。Espresso测试只有在我按下“Accept”按钮但我想测试代替用户执行此事件时才会继续。 我注意到我的线程选项卡上有以下状态

  • 本文向大家介绍android闪关灯的开启和关闭方法代码实例,包括了android闪关灯的开启和关闭方法代码实例的使用技巧和注意事项,需要的朋友参考一下 1、activity_main.xml 两个按钮,一个open一个close 2、MainActivity 核心代码 3、AndroidManifest.xml 加入摄像头和闪关灯的权限

  • 问题内容: 我想在finally块中关闭流,但是它抛出一个,因此看来我必须在块中嵌套另一个块才能关闭流。这是正确的方法吗?似乎有点笨拙。 这是代码: 问题答案: 似乎有点笨拙。 它是。至少java7尝试使用资源可以解决该问题。 在java7之前,您可以创建一个吞咽它的函数: 或将try …最终放入try catch中: 它比较冗长,并且finally中的异常会在try中隐藏一个,但从语义上讲它更接

  • 问题内容: 是否可以使用退出按钮[X]阻止用户关闭窗口?我实际上是在页面上提供一个关闭按钮供用户关闭窗口。基本上我想做的是强迫用户填写表格并提交。我不希望他们在提交表格之前关闭窗口。 。 伙计们,我非常感谢您的评论,我不打算在任何商业网站上托管它。这是内部问题,实际上,我们正在让所有员工参加我们设计的调查…。我知道这不是正确的方法,但我想知道我们这里遇到的问题是否有解决方案… 问题答案: 看一看。

  • 通常情况下,您使用selenium来自动化测试用例,在测试用例运行完毕后,浏览器关闭。 然而,我尝试使用selenium webdriver编写特定任务的脚本,例如登录到特定页面,但浏览器在登录后应保持打开状态。 我开发了门户,这样,如果我早上开始工作,我就不必登录所有的后端,我只需要登录一次我的门户,从那里我就可以触发我需要的一切。 我这样做是为了登录到typo3后端(片段): 您可以看到,我在

  • 本文向大家介绍Android 侧边滑动关闭Activity的示例代码,包括了Android 侧边滑动关闭Activity的示例代码的使用技巧和注意事项,需要的朋友参考一下 0.效果图 1.设置Activity样式属性 2.自定义侧边阴影视图 3.定义可滑动的Activity父类 4.使用 继承SlideBaseActivity类,可调用addShieldView或addHorizontalShie