【问题标题】:Android - 2 Activities active at the same timeAndroid - 同时激活 2 个活动
【发布时间】:2012-02-01 08:58:14
【问题描述】:

我有一个 GameActivity。如果用户按下菜单中的聊天选项(onOptionsItemSelected),我还会在顶部运行一个透明的 ChatActivity。问题是,当玩家在我开始游戏之前启动 ChatActivity 时,会发生奇怪的行为并且游戏不会开始。

有什么方法可以在 ChatActivity 可见时保持 GameActivity 处于活动状态? 我使用正常方式启动了 ChatActivity:

startActivity(new Intent(GameActivity.this, ChatActivity.class));

感谢您的帮助。

【问题讨论】:

    标签: java android android-activity android-intent simultaneous


    【解决方案1】:

    您不能在一项活动中包含两项活动。然而;您可能实现的一种设计是引入一种设计,允许用户滑动屏幕以调出聊天视图并在相反方向滑动以隐藏视图。

    让正在运行的主 Activity 通过异步进程维护该视图,以便可以根据需要对其进行更新,并且不会中断用户。

    【讨论】:

    • 由于我的 ChatActivity 是透明的,我认为用户可以一边聊天一边通过透明的 Activity 观看比赛。我在启动 ChatActivity 时没有完成 GameActivity,但是当我启动 ChatActivity 时,GameActivity 似乎以某种方式“处于非活动状态”。
    • 这正是它应该的样子。一次只能运行一项活动。你在做 android 设计之外的事情。
    • 好的,谢谢你的想法。现在,我将首先尝试找到解决方案。如果我没有找到任何解决方案,那么我必须重新设计我的应用程序。非常感谢:)
    【解决方案2】:

    您可以查看 FLAG_NOT_TOUCH_MODAL(可能还有 FLAG_NOT_TOUCHABLE),使用 2 个活动在彼此之上,使顶部的活动透明并给它那个标志/那些标志(不确定您是否真的可以触摸您在其中创建的窗口那个活动,还没试过)

    您也可以查看this。这不完全一样,但也许你可以修改一下以满足你的需要

    【讨论】:

      【解决方案3】:

      我知道这已经很晚了,但是这个答案可能对任何新人有用。

      为了实现这里提到的那种设计,你可以实现片段而不是两个活动。

      【讨论】:

        猜你喜欢
        • 2017-10-30
        • 1970-01-01
        • 1970-01-01
        • 2014-08-30
        • 1970-01-01
        • 1970-01-01
        • 2013-07-07
        • 1970-01-01
        • 2011-07-17
        相关资源
        最近更新 更多