我有一个对话主题活动(是的,它必须是活动,而不是对话框片段或任何其他类型的对话框,因为在此活动中使用了库)无论如何当我的api向我的客户端发送响应时,如果用户没有默认图像这个活动主题对话框弹出,我想在用户上传照片之前无法取消此活动主题对话框。目前bc活动主题对话框很小,并且只要用户在取消的活动对话框外点击,就会有透明背景。
当有用户onTouchOutside或按下后,有什么好方法可以防止活动主题对话框被取消?
答案 0 :(得分:2)
你实际拥有的是一个活动(即使它看起来像一个对话框),因此如果你想在点击后台活动时保持它打开,你应该从你的活动中调用setFinishOnTouchOutside(false)
。
Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_yoptions);
this.setFinishOnTouchOutside(false);
}
编辑:这仅适用于Android API级别11或更高版本
并覆盖没有super()的onBackPressed()方法,以防止按下后退按钮。
我希望这会有所帮助~~
答案 1 :(得分:1)
有两种方式。但它适用于api 11之后。
使用主题。 Android为它提供主题属性。 (http://developer.android.com/reference/android/R.attr.html#windowCloseOnTouchOutside)
使用代码。 您也可以从代码中设置此属性。 (http://developer.android.com/reference/android/app/Activity.html#setFinishOnTouchOutside(boolean)
答案 2 :(得分:0)
为对话框的这两种方法设置false