Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
折叠搜索小部件android_Android_Search_Widget - Fatal编程技术网

折叠搜索小部件android

折叠搜索小部件android,android,search,widget,Android,Search,Widget,我已经按照android开发者网站上的官方指南在操作栏中实现了搜索小部件。小部件以折叠状态启动。当用户单击搜索图标时,它会展开,并弹出键盘,用户可以进行搜索。用户按enter键后,将在顶部启动一个新活动,处理并显示搜索。当用户按backs返回到上一个活动(搜索之前)时,我希望搜索视图会自动折叠,因为用户刚刚进行了搜索。我该怎么做?现在,用户必须在这之后按back键2,一次关闭键盘,一次折叠搜索小部件。我试过了 searchManager.setOnDismissListener(new OnDi

我已经按照android开发者网站上的官方指南在操作栏中实现了搜索小部件。小部件以折叠状态启动。当用户单击搜索图标时,它会展开,并弹出键盘,用户可以进行搜索。用户按enter键后,将在顶部启动一个新活动,处理并显示搜索。当用户按backs返回到上一个活动(搜索之前)时,我希望搜索视图会自动折叠,因为用户刚刚进行了搜索。我该怎么做?现在,用户必须在这之后按back键2,一次关闭键盘,一次折叠搜索小部件。我试过了

searchManager.setOnDismissListener(new OnDismissListener() {
        public void onDismiss() {
            searchView.setIconified(true);
        }
    });

这会折叠键盘,但用户仍需再次按下“上一步”按钮才能真正折叠视图并将其移回操作栏中的位置。

我知道这是一个老问题,但我只是在寻找答案时遇到了它。我已经完全按照上面的方法进行了尝试,但实际上需要折叠菜单项,而不是SearchView。下面是代码片段:-

 // I do this in onCreateOptionsMenu
 mSearchMenuItem = menu.findItem(R.id.menu_item_search);

 // Call this when you want to collapse it
 mSearchMenuItem.collapseActionView();

希望这对其他人有所帮助。

您可以使用@Ryan的答案,但如果您必须支持较旧的版本,您可以使用android.support.v4.view.MenuItemCompat来实现:

MenuItemCompat.collapseActionView(searchMenuItem);

这是迄今为止最简单、最优雅的方法。