2012-05-08 42 views
1

我在我的TabView中實現了一個ActivityGroup。Android:ActivityGroup - 如何「彈出」視圖

我可以成功地從一個選項卡中的活動添加一個視圖到ActivityGroup。

如何從棧中彈出此新視圖以返回原始視圖?

在ActivityGroup中,我使用Finsih()處理BackButton,但整個應用程序消失並顯示主屏幕。請注意,該應用程序未被殺害,它仍在運行。

(在.NET中寫的)

public override void OnBackPressed() 
    { 
     int length = mIdList.Count; 
     if (length > 1) 
     { 
      Activity current = LocalActivityManager.GetActivity (mIdList [length - 1]); 
      current.Finish(); 
     }   
     base.OnBackPressed(); 
    } 

(我從iOS背景的)

+0

如果您發佈代碼,則更有可能獲得較好的答案。但一般來說,View父母有一些.remove()方法,它們將刪除給定各種參數的子視圖。 – FoamyGuy

+0

[ActivityGroup](http://developer.android.com/reference/android/app/ActivityGroup.html)已棄用。你應該看看使用'片段'。 – adneal

+0

當你說「將這個新視圖從堆棧中彈出回到原始視圖」時,如果不是這個問題,你的意思是'Activity'而不是'View'這個問題沒有多大意義 – slayton

回答

0

首先,我同意aneal你應該嘗試Fragments而非活動組。如果你這樣做,從Android on-line training class顯示以下文本來解決這個問題:

請記住,當你執行片段交易,如替換或刪除一個,它通常適合於允許用戶向後導航並「撤消」更改。爲了允許用戶在片段事務中向後導航,必須在提交FragmentTransaction之前調用addToBackStack()。

添加視圖時,在提交「添加片段」事務之前調用addToBackStack()。