2017-02-23 48 views
-1

我曾看過很多例子但我沒有得到完美的解決方案。要求是點擊硬件返回,我不得不關閉片段並再次獲得相同的活動。如何從片段導航到活動onBackPressed

我不得不像活動覆蓋onbackpress:

@Override 
public void onBackPressed() { 

    int count = getFragmentManager().getBackStackEntryCount(); 
    Toast.makeText(this, ""+count, Toast.LENGTH_SHORT).show(); 
    if (count == 0) { 
     super.onBackPressed(); 
     //additional code 

    } else { 
     getFragmentManager().popBackStack(); 
    } 
    super.onBackPressed(); 
} 

這裏的時候,我要前往一個片段所以它的計數爲1,當我按下後退按鈕直接關閉當前活動和片段也和片段組成部分通過創建按鈕我已經放置了getActivity()。getFragmentManager()。popBackStack();,它完美的作品,但我需要在後臺壓縮..停止我想從當前片段的片段附加活動。請欣賞此解決方案。

回答

0

您的方法錯誤可能是您錯誤地思考。

可以說,活動有3個片段

1-主要內容你點擊一些東西,是在第一片段你點擊的東西這是對第二個片段後 3-顯示的東西后 2-顯示的東西

所以當你的活動開始時,會有一個已經加載的片段,這是第一個片段。

現在,如果你想顯示第二個片段,你會用第二個片段替換第一個片段。

當你按下回退按鈕時,第二個片段將彈出,第一個片段將在那裏。

這就是你如何解決你的問題。

+0

所以你想說的主要內容也可以被視爲片段不是嗎?所以在活動中應該沒有什麼是正確的? –

+0

是的,這就是我說的。 –