问题
I am using option selected menu item, attached three item (share, login, logout) am select login item, go login activity login social sign (Facebook or google) any one, if login hide login item at same time show logout item, this same type if logout the social sign show login item menu, please help me...
回答1:
step:1) menu.xml define all three menu item. login ,logout and share after that make logout visibility to false by default
android:visible="false"
and make remaining two items visible.its optional because by default all items are visible in android
Step:2)when you are in login Activity inflate that xml.and no need to make any change in activity at these point we are showing login and share menu item only and we have already made logOff item visibility to false in the xml .
step:3) when you are in main activity(activity that you are showing after login activity) do these
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu, menu);
MenuItem item = menu.findItem(R.id.login_id);
item.setVisible(false);//
MenuItem item = menu.findItem(R.id.logOff_id);
item.setVisible(true);
super.onCreateOptionsMenu(menu, inflater);
}
at these point you will get logOff and share because we have made login menu item visibility to false .
回答2:
In your Activity
after successful login take handle of the menuItem
in ActionBar
and change it's visibility state
getMenu().findItem(R.id.login_menu_id).setVisible(false);
If you're using Toolbar
then it will be like
toolbar.getMenu().findItem(R.id.login_menu_id).setVisible(false);
So setVisible(boolean)
will change the visibility of a menuItem
. Hope this helps
来源:https://stackoverflow.com/questions/32175845/how-to-hide-option-menu