我試圖在片段更改時隱藏某些菜單項,但似乎這不起作用。以下是即時通訊做: 定義菜單和菜單項:更改片段中菜單項的可見性
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.actionbar_sharecall, menu);
actionMenu = menu;
MenuItem searchItem = menu.findItem(R.id.action_searchmenuitem);
MenuItem item = menu.findItem(R.id.action_menushare);
// item.setVisible(false);
// searchItem.setVisible(false);
topSearch = searchItem;
topShare = item;
final MRShareActionProvider actionProvider = new MRShareActionProvider(
this);
MenuItemCompat.setActionProvider(item, actionProvider);
actionProvider
.setShareHistoryFileName(ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME);
actionProvider.setOnShareTargetSelectedListener(this);
actionProvider.setShareIntent(createShareIntent());
return true;
}
改變片段和改變可視性:
//changing visibility
topSearch.setVisible(false);
frag = new SyncFragment();
FragmentTransaction ft = getSupportFragmentManager()
.beginTransaction();
ft.replace(R.id.fragment_content, frag);
ft.commitAllowingStateLoss();
,這是我SyncFragment:
public class SyncFragment extends MRBaseACBFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_sync, null);
}
}
但片段改變後,我仍然可以看到菜單項。有人可以幫助我解決如何做到這一點?