簡體   English   中英

選項卡中的ActivityGroup - 后退按鈕

[英]ActivityGroup in Tab - Back Button

Java答案很好,我傾向於使用C#for Android。

在我的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();
        }           
    }

如何讓視圖“彈出”而不是關閉應用程序?

嘗試制作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開始不推薦使用所有子類。 您應該考慮轉移到片段並使用支持庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM