2012-05-09 43 views
0

Java的答案很好,我傾向於使用Android的C#。ActivityGroup in Tab - 後退按鈕

在我的ActivityGroup我有這種方法,啓動並顯示一個子活動:

public void StartChildActivity (string Id, Intent intent) 
    { 
     intent.AddFlags (ActivityFlags.ClearTop); 
     Window window = LocalActivityManager.StartActivity (Id, intent); 
     if (window != null) 
     { 
      mIdList.Add (Id); 
      SetContentView (window.DecorView); 
     } 
    } 

然而,當我處理後退按鈕「彈出」關閉視圖,並返回到前一箇中,當完成調用時關閉應用程序:

public override void OnBackPressed() 
    { 
     int length = mIdList.Count; 
     if (length > 1) 
     { 

      Activity current = LocalActivityManager.GetActivity (mIdList [length - 1]); 
      current.Finish(); 
     }   
    } 

如何獲得「pop」視圖而不是關閉應用程序?

回答

2

這聽起來很熟悉試圖讓在iOS端口?

這是我開始我的活動

String id = "SOME_UNIQUE_ID"; 
Intent intent = new Intent(context,SomeClass.class); 
intent.putExtra("UniqueID", id); 
LocalActivityManager m = getLocalActivityManager(); 
Window w = m.startActivity(id, intent); 
setContentView(w.getDecorView()); 
intentStack.push(intent); 

我這是怎麼完成的背部

LocalActivityManager m = getLocalActivityManager(); 
Intent i = intentStack.pop(); 
m.destroyActivity(i.getStringExtra("UniqueID"),true); 

的intentStack我的活動,只是在那裏我把意圖棧,所以我可以找到這些活動再次。

這應該是你需要什麼,但不管你應該重新評估你需要使用TabActivity /的ActivityGroup爲類和所有子類已被棄用的2.2或2.3。你應該考慮移動到碎片並使用支持庫。

+0

是的,這是一個iOS應用程序的端口。 –