AlertDialog.Builder如何在点击按钮后不退出?

AlertDialog.Builder如何在点击按钮后不退出?
想在点击确定时判断是否信息输入完整,如果不完整就不退出,可是点击后AlertDialog.builder就退出了.这个怎么做?

阅读 7.9k
6 个回答

你可以继承Dialog自己写对话框,这样就能控制了。

如果使用系统的AlertDialog,如果你设置了点击按钮,那么你是没有办法在用户点击按钮时保持对话框不被关闭的。builder.setCancelable()仅仅是让你点击屏幕其他区域或是点击返回时对话框不消失。

根据你的要求,你可以选择两种方式来做到:

  1. 不要设置系统对话框的按钮,自己重写布局,那么你就可以自己根据需要是否dismiss这个对话框;

  2. 设置个标志位,在对话框消失时候重新创建一个新的显示出来;

我记得好像有这个方法,你试试builder.setCancelable();看行不行。

自定义的dialog.一楼完全正解set.Cancleable();只是点击屏幕对话框外的地方不退出.并不能满足需求.

一楼正解,自己定义一个dialog吧

可以考虑用透明的Activity代替AlertDialog,这样写样式:
<style name="MyDialog" parent="@android:style/Theme.Dialog">

<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>

</style>
然后自定义布局,交互啥的也方便

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题