2017-04-18 26 views
1

特定のイベントが発生した後、メニュー項目を動的に膨張させています。しかし、メニュー項目は表示されません。以下はメニュー項目が表示されない

コードです:

LocalBroadcastManager.getInstance(context).registerReceiver(new BroadcastReceiver() { 
    @Override public void onReceive (Context context, Intent intent){ 
     appCompatActivity.supportInvalidateOptionsMenu(); 
     setHasOptionsMenu(true); 
     setUpdateText(); 
     appCompatActivity.invalidateOptionsMenu(); 
    } 
}, new IntentFilter(UPDATE_ACTION)); 

void setUpdateText() { 
    if (mainMenu != null) { 
     mainMenu.findItem(R.id.notificationdevicemenu).setVisible(true); 
     mainMenu.findItem(R.id.notificationdevicemenu).setEnabled(true); 

    } 
} 

そして、私は以下のようなメニューを膨らませるよ:メニューが表示さになっていない理由

@Override 
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
     super.onCreateOptionsMenu(menu, inflater); 
     mainMenu=menu; 
     menu.clear(); 
     try { 
      inflater.inflate(R.menu.main_list_fragment, mainMenu);   
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

誰も私に教えてくださいすることができます。どんな種類の助けにも感謝します。

答えて

0

オプションメニューを無効にすると、onCreateOptionsMenu()ではなく、が呼び出されます(最初のオプションメニューが表示されます)。 onPrepareOptionsMenu()を上書きし、そこから必要な変更を行います。

関連する問題