3

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

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

这会折叠键盘,但用户仍然必须再次按下后退按钮才能真正折叠视图并将其移回其在操作栏中的位置。

4

2 回答 2

5

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

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

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

希望这可以帮助某人。

于 2013-04-11T13:22:11.220 回答
0

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

MenuItemCompat.collapseActionView(searchMenuItem);
于 2014-05-28T17:57:34.397 回答