Android点击AlertDialog的button不退出对话框的技巧
发布时间:2021-12-15 10:56:12 所属栏目:教程 来源:互联网
导读:Android弹出对话框时,默认情况下无论点击哪个button,触发事件后对话框都会自动关闭。 可以利用反射机制,使触发按钮点击事件之后不退出对话框。 解决方法:在setButton的OnClickListener的OnClick里改变field,filed的改变对于该对象来说是全局的,所以想
Android弹出对话框时,默认情况下无论点击哪个button,触发事件后对话框都会自动关闭。 可以利用反射机制,使触发按钮点击事件之后不退出对话框。 解决方法:在setButton的OnClickListener的OnClick里改变field,filed的改变对于该对象来说是全局的,所以想要关闭时也要添加代码。 不退出对话框: .setPositiveButton("开始测试", new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { ; try { Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing"); field.setAccessible(true); //设置mShowing值,欺骗android系统 field.set(dialog, false); }catch(Exception e) { e.printStackTrace(); } } }) 点击退出对话框: .setNegativeButton("退出测试", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub try { Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing"); field.setAccessible(true); //设置mShowing值,欺骗android系统 field.set(dialog, true); } catch(Exception e) { e.printStackTrace(); } } }) ![]() (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |