如何从android后台堆栈中删除特定的活动?

在我的应用程序中,我有五个活动a,b,c,d,e.用户按以下顺序转换….
1. a – > b
2. b – > C
3. c – > d
4. d – > Ë

直到活动’d’,如果用户按下后退按钮,应用程序应该将用户重定向到之前的活动,如d – > c,c – > b等等……

但是当用户点击活动’d’中的保存按钮时,应用程序会将用户重定向到活动’e’.如果用户按下后退按钮然后我想将用户重定向到活动’a’,这是我的主屏幕应用.

我是android的新手.我不知道如何实现这个flow.I tried this solution but it hasn’t yielded desired result.抱歉我的英语不好……

解决方法:

试一试.

// Add activity
public static void addActivities(String actName, Activity _activity) {
    if (Config.screenStack == null)
        Config.screenStack = new HashMap<String, Activity>();
    if (_activity != null)
        Config.screenStack.put(actName, _activity);
}

// Remove Activity
public static void removeActivity(String key) {
    if (Config.screenStack != null && Config.screenStack.size() > 0) {
        Activity _activity = Config.screenStack.get(key);
        if (_activity != null) {
            _activity.finish();
        }
    }
}

用户在setContentView添加到堆栈之前添加活动.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addActivities("DemoActivity", DemoActivity.this)
    setContentView(R.layout.activity_create_Feed_post);
}

如果你想在应用程序中存在时完成所有活动,你可以see this code.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...