android– 如何管理片段堆栈等活动

android– 如何管理片段堆栈等活动,第1张

概述我有很多活动.Aislistactivity.Bisformactivity.Andgenerateddynamically.Iopenthisactivitytwotimeinarow.Cisresultactivity.A–>B–>B喜欢简单推新活动.如果结果成功,我想在我推C时清除所有表格.A–>B–>B–>C==>A–>C

我有很多活动.

A is List activity.

B is form activity. And generated dynamically. I open this activity two time in a row.

C is result activity.

A – > B – > B喜欢简单推新活动.
如果结果成功,我想在我推C时清除所有表格.

A – > B – > B – > C ==> A – > C.

如果Im in C活动时结果失败,则可以返回上述不同的活动.

A – > B或A – > B – >乙

当我按C时我使用cleartop但它清除所有活动如何保存活动的状态.

如何管理碎片等活动.

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

解决方法:

您可以按照以下步骤实现:

>在AndroidManifest.xml文件中设置ActivityA的androID:launchMode =“singleTask”.
>在ActivityA中设置onNewIntent方法,如下所示:

@覆盖
    protected voID onNewIntent(Intent intent){
        super.onNewIntent(意向);
        捆绑mBundle = intent.getExtras();
        如果(mBundle!= NulL){
            String launchActivity = mBundle.getString(“activityname”);
            switch(launchActivity){
                case“ActivityD”://这是活动名称这里是ActivityD.class
                    startActivity(new Intent(ActivityA.this,ActivityD.class));
                    打破;
            }
        }
    }
>现在从ActivityC启动ActivityA,如下所示.

startActivity(new Intent(ActivityC.this,ActivityA.class).putExtra(“activityname”,ActivityD.class.getSimplename()));

它将调用ActivityA的onNewIntent方法并匹配参数并从ActivityA启动ActivityD.因此,您的ActivityA将保留在堆栈中,ActivityD将在堆栈中添加到top.

>现在实现A – > B来自A – > D从ActivityD启动ActivityB时,可以在ActivityD中调用finish()方法.

关于ActivityLaunchMode,请参阅this link

希望它对你有用!

总结

以上是内存溢出为你收集整理的android – 如何管理片段堆栈等活动全部内容,希望文章能够帮你解决android – 如何管理片段堆栈等活动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:http://outofmemory.cn/web/1115845.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存