当前位置: 首页 > 知识库问答 >
问题:

我如何管理像碎片堆栈这样的活动

葛言
2023-03-14

我有很多活动。

A是列表活动。

B是表单活动。并动态生成。我连续开了两次这个活动。

我怎样才能像碎片一样管理活动。

*当我从第二个B返回时,第一个B应该打开*

共有1个答案

阎承嗣
2023-03-14

您可以通过以下步骤来实现:

> 在androidmanifest.xml文件中设置activityaandroidlaunchmode=“singletask”

  • ActivitYA中设置OnNewIntent方法,如下所示:

    @override protected void onNewIntent(Intent){super.onNewIntent(Intent);Bundle mBundle=Intent.getExtras();if(mBundle!=null){String launchActivity=mbunchActivity.getString(“activityName”);switch(launchActivity){case“activityD”://这里是activityd.class startActivity(new Intent(activityA.This,activityd.class));break;}
    }
    }

    现在从activityC启动activityA,如下所示。

    startActivity(新意图(activityc.this,activitya.class).putExtra(“activityname”,activityd.class.GetSimplename()));

    它将调用activityaonnewintent方法,并将匹配参数并从activitya启动activityd。因此activityA将保留在堆栈中,而activityD将添加到堆栈顶部。

    关于ActivityLaunchMode,请参阅此链接

    希望对你有用!

  •  类似资料:
    • 一、简介 碎片是什么?把一个完整的页面理解成由许多块组成,而每一个“块”我们就可认为就是一个”碎片“! 这样,我们在页面放置一些碎片,在以后的维护维护中,只需要对碎片进行维护! 碎片功能支持完全手动更新,并且可以搜索内容,可恢复数据至任何历史版本,常用于专题制作和首页频繁更新的内容。 您可以在模板中直接插入 {pc:block pos="index_block_1"}{/pc} 格式的碎片标签,然

    • 我有一个托管3个片段的活动,我的活动包含一些我希望我的第一个片段使用的数据。我尝试调用以下方法,以便活动可以与片段通信: 对于活动类和: 对于fragment类,但它在运行时对空对象引用错误调用虚拟方法“void com.tex.lightweatherforecast.FirstFragment.doSomething(java.lang.String)”。 我的活动代码是: 任何帮助将不胜感激

    • 我可以使用一个片段作为一个活动吗?我已经创建了一个片段,但我希望它有像活动一样的功能,所以我使用片段扩展碎片活动。然而,我有一个带有碎片的导航抽屉。当我更改为“扩展碎片活动”时,我的代码有问题?请给我指路。

    • 我在SO上发现了许多类似问题的例子,但不幸的是,没有一个答案符合我的要求。 我对纵向和横向有不同的布局,并且我使用了后退堆栈,这既阻止了我使用又阻止了使用配置更改例程的技巧。 我在TextViews中向用户显示某些信息,这些信息不会保存在默认处理程序中。在单独使用活动编写应用程序时,以下操作非常有效: 对于s,这只在非常特定的情况下起作用。具体地说,最可怕的是替换一个片段,把它放在后面的堆栈中,然

    • 我一直对此感到沮丧,也找不到好的答案,所以希望这里有人能提供指导。 我有一个片段相当广泛地使用了。片段调用(返回null)时,我经常受到错误的困扰。我假设发生这些情况是因为在附加活动之前或分离活动之后调用了片段中的某些方法。 在我的代码中处理这个问题的正确方法是什么?我不想让这个成语到处乱扔, 一些人建议在暂停时取消任务,但这意味着标准习惯用语, 无法使用。这意味着每个执行的都需要跟踪到完成或取消

    • 由于不推荐使用TabActivity,我需要找到一种方法来使用片段。在我知道它如何工作之前,我已经使用了碎片,但我需要一个指南来创建我的标签主机与碎片活动。我在互联网上找到了几个例子,它们都是关于将片段放入标签的容器中的。