AlertDialog.Builder如何在点击按钮后不退出?想在点击确定时判断是否信息输入完整,如果不完整就不退出,可是点击后AlertDialog.builder就退出了.这个怎么做?
业精于勤,荒于嬉;行成于思,毁于随。
你可以继承Dialog自己写对话框,这样就能控制了。
如果使用系统的AlertDialog,如果你设置了点击按钮,那么你是没有办法在用户点击按钮时保持对话框不被关闭的。builder.setCancelable()仅仅是让你点击屏幕其他区域或是点击返回时对话框不消失。
AlertDialog
builder.setCancelable()
根据你的要求,你可以选择两种方式来做到:
不要设置系统对话框的按钮,自己重写布局,那么你就可以自己根据需要是否dismiss这个对话框;
dismiss
设置个标志位,在对话框消失时候重新创建一个新的显示出来;
我记得好像有这个方法,你试试builder.setCancelable();看行不行。
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> 然后自定义布局,交互啥的也方便
你可以继承Dialog自己写对话框,这样就能控制了。
如果使用系统的
AlertDialog
,如果你设置了点击按钮,那么你是没有办法在用户点击按钮时保持对话框不被关闭的。builder.setCancelable()
仅仅是让你点击屏幕其他区域或是点击返回时对话框不消失。根据你的要求,你可以选择两种方式来做到:
不要设置系统对话框的按钮,自己重写布局,那么你就可以自己根据需要是否
dismiss
这个对话框;设置个标志位,在对话框消失时候重新创建一个新的显示出来;
我记得好像有这个方法,你试试
builder.setCancelable();
看行不行。自定义的dialog.一楼完全正解set.Cancleable();只是点击屏幕对话框外的地方不退出.并不能满足需求.
一楼正解,自己定义一个dialog吧
可以考虑用透明的Activity代替AlertDialog,这样写样式:
<style name="MyDialog" parent="@android:style/Theme.Dialog">
</style>
然后自定义布局,交互啥的也方便