【问题标题】:Getting rid of black screen in android intent flag Intent.FLAG_ACTIVITY_CLEAR_TOP摆脱android意图标志Intent.FLAG_ACTIVITY_CLEAR_TOP中的黑屏
【发布时间】:2013-11-03 06:11:09
【问题描述】:

我是 android 新手,我对此感到困惑。 我有一个登录活动,当我点击登录时,它进入主菜单,我有一个网格视图,所以当我从网格视图中选择一个项目时,它进入下一个活动说“B”,当我点击确认按钮时活动“B”它向我显示了具有主页按钮的活动“c”。 我正在使用 android:theme="@android:style/Theme.Dialog" 主题,它将我的活动显示为对话框。

当单击主页按钮时,它应该将我带到主菜单,即 Gridview。 所以现在当我在主菜单中按下返回按钮时,它会显示活动“c”,但我的问题是我必须去登录活动。

我曾尝试将finish() 放在活动“B”中,但在活动“C”中,当我单击返回按钮时,我想要c 活动“B”,该活动“B”当前显示我的主菜单,即gridview。 我也尝试在活动“c”中设置意图标志 Intent.FLAG_ACTIVITY_CLEAR_TOP,但它在显示主菜单之前会显示一秒钟的黑屏。

【问题讨论】:

    标签: android-intent


    【解决方案1】:

    当您单击“主页”按钮时,您需要像这样返回到网格视图活动:

    Intent intent = new Intent(this, MainMenuActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
    startActivity(intent);
    

    这将清除任务中的所有活动,返回(但不包括)主菜单活动。然后它将在您的主菜单活动的现有实例上调用onNewIntent(),然后调用onResume()

    这应该可以解决您的“黑屏”问题。

    【讨论】:

      【解决方案2】:

      伙计们,简单的解决方案是

      第 1 步)用你想要的颜色创建一个可绘制的形状

      <?xml version="1.0" encoding="utf-8"?>
      <shape xmlns:android="http://schemas.android.com/apk/res/android">
          <solid android:color="@color/white" />
      </shape>
      

      第 2 步)将其添加到 style.xml 中的主题

       <itemname="android:windowBackground">@drawable/any_default_background</item>
      

      实际上,在android的暗模式下,窗口颜色默认为黑色,因此您可以将颜色更改为活动屏幕背景颜色,默认情况下黑色将消失。

      您也可以尝试其他解决方案,但这是我一直使用的解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-12
        • 2016-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多