Trying to hide and show menu items on action bar

后端 未结 4 1033
灰色年华
灰色年华 2021-02-05 19:26

I have looked through the questions on stack overflow and can\'t find the solution.

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    MenuInflater i         


        
4条回答
  •  轮回少年
    2021-02-05 20:30

    I have a menu with two items, first: save item, second: edit item. I wanted when I came in to edit, at first "save item" had been hidden, and when I click "edit item", "save item" was shown.

    So:

    1. declare an item in public
    2. set value to it in onCreateOptionsMenu(Menu menu, MenuInflater inflater)
    3. set visibility to isHidden()
    4. then every where I wanted, set visibility to isVisible()

    Public region:

    MenuItem saveItem;
    

    onCreateOptionsMenu:

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.menu_detail_products, menu);
        saveItem = (MenuItem) menu.findItem(R.id.action_detail_product_save);
        saveItem.setVisible(isHidden());
    }
    

    Where i want:

    saveItem.setVisible(isVisible());
    

    Finally it works as I wanted.

提交回复
热议问题