【发布时间】:2014-10-17 07:40:07
【问题描述】:
我试图在片段更改时隐藏一些菜单项,但这似乎不起作用。这是我在做什么: 定义菜单和菜单项:
@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);
}
}
但在片段更改后,我仍然可以看到菜单项。有人可以帮助我解决如何执行此操作吗?
【问题讨论】:
标签: android android-fragments android-actionbar android-optionsmenu