2017-10-28 88 views
-1

我有一個Fragment一個這顯示了MenuItem在工具欄中。點擊Mi,我向用戶展示DialogFragmentDf以設置值V用戶後更改片段選項菜單設置一個值在DialogFragment

我通過實現回調監聽器接口將此值傳遞給片段A。 一旦設置了該值,我想從片段A的工具欄菜單中隱藏Mi

我想處理這裏面onPause()和片段一個onResume(),反而呈現出DialogFragment不改變片段的生命週期。我想知道如何解決這個問題。

我該如何做到這一點?

+0

簡單地說,你要隱藏彌df時被駁回用戶設定值V之後? – Mercato

+0

你可以嘗試使用shared-preferences我認爲。設置一個標誌菜單的激活/非激活狀態,並與它比較來顯示或隱藏Mi –

+0

@Mercato是的,我做到了。 – Tony

回答

0

我在分段A中使用了一個回調監聽器,它監聽DialogFragment Df。一旦設置值V,就會調用A中的回調方法。在此方法中,我正在使用V並設置標誌來指示已設置V,然後調用invalidateOptionsMenu()

請參閱此實現自己的回調。 How to send data from DialogFragment to a Fragment?

public void myCallback(int V){ 
    //Use V according to my logic 
    vIsSet = Boolean.TRUE; 
    getActivity().invalidateOptionsMenu(); 
} 

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){ 
    super.onCreateOptionsMenu(menu,inflater); 
    if(vIsSet) { 
     menu.removeItem(MENU_ITEM_ID);//item id of Mi 
    } 
}