SetFinishOnTouchOutside-触发得很晚

时间:2018-06-26 07:36:46

标签: android xamarin

我最近遇到了一种情况,我正在使用dialog活动和设置

SetFinishOnTouchOutside(false)

我面临的问题是,如果用户在创建活动之前触摸外部,活动将关闭并且永远不会显示对话框

protected override void OnCreate(Bundle savedInstanceState)
{
   this.SetFinishOnTouchOutside(false);
   base.OnCreate(savedInstanceState);            
   SetContentView(Resource.Layout.dialogActivity);           
}

令人难以理解的是,该活动仍在创建中,尚未到达this.SetFinishOnTouchOutside(false);,因此,触摸外部会关闭该活动。

如何防止这种情况关闭户外触摸活动?

我将this.SetFinishOnTouchOutside(false);放在SetContentView(Resource.Layout.dialogActivity);之前,但这没什么区别。

查看https://developers.google.com/identity/protocols/OpenIDConnect#authenticationuriparameters上的活动生命周期 触发的第一件事是OnCreate方法,因此我无能为力,无法阻止我的代码放置。

我的另一个想法是,当我在样式中使用<style name="AppCompatDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">来在此活动中应用样式时,我有什么方法可以在SetFinishOnTouchOutside(false)中实施styles

任何想法还是我全都错了?

0 个答案:

没有答案