在选择菜单项以及完成菜单项后设置视图的可见性

时间:2020-02-01 17:28:19

标签: android

我已经实现了一个菜单项来搜索列表视图。选择菜单项后,我需要使视图不可见。使用我的片段中的以下代码可以轻松完成此操作:

    @Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
        case R.id.action_search:
            addButton.setVisibility(View.INVISIBLE);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

完成搜索后(我正在使用SearchView),我不知道如何重新设置可见性。我试图使用onOptionsMenuClosed(菜单菜单),但是由于某种原因没有被调用。

预先感谢

1 个答案:

答案 0 :(得分:1)

尝试使用setOnActionExpandListener()

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.your_menu, menu);
    menu.findItem(R.id.action_search).setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
        @Override
        public boolean onMenuItemActionExpand(MenuItem item) {
            return true;
        }

        @Override
        public boolean onMenuItemActionCollapse(MenuItem item) {
            addButton.setVisibility(View.VISIBLE);
            return false; // change to true if `false` wont work for your case
        }
    });
    return super.onCreateOptionsMenu(menu);
}
onMenuItemActionCollapse()折叠或关闭时,会调用

SearchView