2011-05-06 91 views
1

我有点困惑,我有一个应用程序在tabHost中有5个选项卡。每个选项卡都有一个activityGroup,它还有一个父活动和一个子活动。父活动包含标题列表,子活动包含这些标题的详细信息。现在,如果我从应用程序的细节页面移至另一个选项卡,然后返回到查看详细信息的相同选项卡,则会再次显示详细信息,而父级活动应该显示,或者如果我按下返回按钮这里它退出我的应用程序,而它应该去它的父项活动。返回按钮在android中退出应用程序

它就像

TAB1 - 的ActivityGroup                                                                                           TAB2 - 的ActivityGroup

 ParentActivity1 - ListActivity   ParentActivity2 - ListActivity 

    ChildActivity1 - Activity    ChildActivity2 - Activity 

现在,当我从ChildActivity1去TAB2 - ParentActivity2,回来TAB1我能看到ChildActivity1只有,如果我按回按钮,然后我的应用程序退出

请帮忙

+0

我有完全相同的问题,您是否找到了解决方案? 我是否必须在每一项活动上实施后退按钮? – ruffen 2012-09-04 20:22:43

回答

1

你需要捕捉后退按钮,并提出你想要的活动。就系统而言,我认为它会将您的TabActivity视为唯一具有BACK操作的Activity。

public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) 
     // goto parent screen 
} 
+0

我在我的ActivityGroup中使用了这段代码。如果我从ParentActivity1移动到ChildActivity1,然后按回移回到ParentActivity1,但是如果我从ChildActivity1移动到Tab2,然后回到Tab1,ChildActivity1会显示 – ReNa 2011-05-06 10:55:50

+0

显示相关代码... – rajath 2011-05-06 11:00:51

2

似乎你的堆栈没有妥善管理或清理。 检查你正在通过意图进行新活动的堆栈选项。

+1

@Shailender:没有明白你的观点,如果使用intetn.addflag(FLAG_NAME),你能详细说明 – ReNa 2011-05-06 10:26:57

+0

;然后检查它是否合适,不应该是FLAG_ACTIVITY_NO_HISTORY; – 2011-05-06 11:19:36

相关问题