2011-04-27 33 views
3

我有一个包含ActivityGroup的TabActivity的应用程序。每个标签都可以正常工作,但是对于一个特定的标签,我想在点击它时返回到第一个子活动(无论何时我们处于此标签的子活动或另一个标签内)。Android ActivityGroup点击返回第一个活动

我试图开始活动,我想在我的ActivityGroup的onResume,它适用于当我在另一个选项卡上,但不是当我在此选项卡上,与子活动。

对于此选项卡,我是否必须使用FLAG_ACTIVITY_CLEAR_TOP之外的另一个意向标志? 有没有人有线索?

谢谢。

回答

1

Usualy与ActivityGroup你有某种历史。

比方说,你的历史是:

当然
ArrayList<View> history; 

历史需要被初始化,并在它的一些意见,可以与检索:

getLocalActivityManager().startActivity(clazz.getName(), new Intent(this, clazz)).getDecorView(); 

其中clazz中是类的你儿童活动。 于是就点击当前的ActivityGroup定义的方法,如:

public void backToFirst() { 
    int size = history.size(); 
    while (size > 1) { 
     history.remove(size - 1); 
     size = history.size(); 
    } 
    setContentView(history.get(0)); 
} 

希望我理解正确的你,这是你正在寻找的答案。

+0

谢谢。我没有回答,但我已经这样做了: 'code' public void resetChildActivities(){ \t \t LocalActivityManager manager = getLocalActivityManager(); \t \t int index = mIdList.size() - 1; \t \t对(INT I =指数; I> 0;我 - ){ \t \t \t manager.destroyActivity(mIdList.get(ⅰ),TRUE); \t \t \t mIdList.remove(i); \t \t} \t} 'code' 但您的解决方案接缝更好。 谢谢。 – magiccyril 2011-05-26 06:52:00

+0

大家好。 IAM新的Android开发。我的要求是我面临的一个问题,无法解决它任何人都可以在它上面,并帮助我解决这个问题这是墨水在哪里我张贴我的代码与logcats以及http:///stackoverflow.com/questions/15223444/current-acivity-should-replaced-with-previous-activity-back – 2013-03-05 12:16:09