Android 防止以对话框为主题的活动在外部和反压时关闭
我有一个以对话为主题的活动(是的,它必须是活动,而不是对话片段或任何其他类型的对话,因为库在这个活动中使用)无论如何,当我的api向我的客户端发送响应时,如果用户没有默认图像,则会弹出此活动主题对话框,我希望在用户上传照片之前,无法取消此活动主题对话框。目前,以活动为主题的对话框很小,只要用户在其取消的活动对话框外单击,就会有一个透明的背景Android 防止以对话框为主题的活动在外部和反压时关闭,android,android-activity,dialog,touch-event,Android,Android Activity,Dialog,Touch Event,我有一个以对话为主题的活动(是的,它必须是活动,而不是对话片段或任何其他类型的对话,因为库在这个活动中使用)无论如何,当我的api向我的客户端发送响应时,如果用户没有默认图像,则会弹出此活动主题对话框,我希望在用户上传照片之前,无法取消此活动主题对话框。目前,以活动为主题的对话框很小,只要用户在其取消的活动对话框外单击,就会有一个透明的背景 那么,有什么好方法可以防止用户在触摸外部或按下返回键时取消以活动为主题的对话框呢?有两种方法。但它在api 11之后工作 使用主题。 Android为其提供
那么,有什么好方法可以防止用户在触摸外部或按下返回键时取消以活动为主题的对话框呢?有两种方法。但它在api 11之后工作
有两种方法,但它在api 11之后工作
为对话框的这两种方法设置false
和为对话框的这两种方法设置false
而且您实际拥有的是一个活动(即使它看起来像一个对话框),因此如果您希望在单击后台活动时保持活动的打开状态,您应该从活动中调用
setfinishontouchout(false)
Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_yoptions);
this.setFinishOnTouchOutside(false);
}
编辑:这仅适用于android API 11级或更高级别
并在不使用super()的情况下重写onBackPressed()方法,以防止按下后退按钮
我希望这对您有所帮助~~您实际拥有的是一个活动(即使它看起来像一个对话框),因此,如果您希望在单击后台活动时保持活动的打开状态,您应该从活动中调用
setfinishontouchout(false)
Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_yoptions);
this.setFinishOnTouchOutside(false);
}
编辑:这仅适用于android API 11级或更高级别
并在不使用super()的情况下重写onBackPressed()方法,以防止按下后退按钮
我希望这有助于~~两者都不起作用。如果有问题,我在活动中使用的主题是Sherlock.Dialog.Light,两者都不起作用。如果有问题,我在活动中使用的主题是Sherlock.Dialog.Light