簡體   English   中英

Android每個片段更改setNavigationMode導致應用崩潰

[英]Android changing setNavigationMode per fragment is crashing the app

我創建了以下項目,因此您可以看到我的確切代碼以及正在發生的情況: https : //github.com/CorradoDev/TabsTest/commit/8f054dab2371b791c4061ceb511413f720f65d67

基本上,我想做的是隱藏某些頁面的標簽,並在其他頁面中顯示它們。

下面是我用來在onresume中顯示選項卡的代碼

       if(getActivity().getActionBar().getNavigationMode()==ActionBar.NAVIGATION_MODE_STANDARD){
        getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    }

隱藏選項卡,我在簡歷上做以下操作:

 getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);

當我在第一個片段上時(在堆棧中什么都沒有)。 我可以顯示和隱藏第二個選項卡。 有時隨着選項卡的更改會出現錯誤。

當我在后堆棧中的第二個片段上時,我隱藏了第三個片段。 我看到第二個和第三個片段都調用了onrefresh,但是第三個片段沒有顯示。

我對正在發生的事情以及為什么這樣做不容易感到困惑。

以下是我通常會收到的錯誤03-27 15:26:31.029:E / AndroidRuntime(5505):java.lang.IllegalStateException:片段已添加:Fragment3 {41f2e390#2 id = 0x1020002fragment3}

我仍然想知道為什么以上方法不起作用。 但是我的解決方法是使用片段和無選項卡創建另一個活動。 這似乎很好。 但是我很感興趣,如果他們不希望您更改選項卡並且每個片段都沒有選項卡。

我有類似的情況-只是我使用NAVIGATION_MODE_LIST而不是標簽。 當我從另一個片段中調用一個片段時,我遇到了類似的問題,例如,單擊列表項以打開該項的詳細信息。

現在,我從主要活動中調用所有片段,這使我可以控制操作欄的設置。 每當導航列表消失時,只要調用該片段,我就調用NAVIGATION_MODE_STANDARD ,而其他片段則調用NAVIGATION_MODE_LIST

暫無
暫無

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

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