【问题标题】:Calling finish() after dismiss() has unexpected behaviour在dismiss() 之后调用finish() 有意外行为
【发布时间】:2015-08-31 12:54:08
【问题描述】:

我有一个Activity,它创建并显示一个Dialog 以显示完成进度。我想要Activityfinish() 在我dismiss Dialog 之后:

myDialog.dismiss();
finish();

但是,当我这样做时,我看到屏幕向后旋转(我强制横向,而传感器显示纵向)。还有一段时间黑屏。

当我用Handler 推迟我的finish() 通话时,我看不到这种行为(它直接关闭到之前的Activity):

new Handler().postDelayed(new Runnable() {
   @Override
   public void run() {
       finish();
   }
}, 5000);

这是怎么回事?

更新我从Runnable 调用finish(),它是从Handler 调用的。也许这就是问题的一部分。

【问题讨论】:

    标签: android android-activity dialog activity-finish


    【解决方案1】:

    你不需要调用dismiss,只需调用finishsee试试,因为finish会关闭任何对话框

    【讨论】:

    • 是的,它会关闭它,但它似乎会旋转回纵向。此外,屏幕短时间黑屏。当我使用 Handler 时,它会干净利落地关闭。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多