我已经按照Android开发者网站上的官方指南在操作栏中实现了搜索小部件。窗口小部件以折叠状态启动。当用户点击搜索图标时,它会展开并弹出键盘,用户可以搜索。一旦用户按下enter键,就会在顶部启动一个新的活动来处理和显示搜索。当用户按下以返回上一个活动时(搜索之前),我希望搜索视图会自动崩溃,因为用户只是进行了搜索。我该怎么做?现在,用户必须在此之后按下后退键2,一次关闭键盘,一次折叠搜索小部件。我试过了
searchManager.setOnDismissListener(new OnDismissListener() {
public void onDismiss() {
searchView.setIconified(true);
}
});
折叠键盘,但用户仍然需要再次按下后退按钮才能真正折叠视图并将其移回到操作栏中的位置。
答案 0 :(得分: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();
希望这有助于某人。
答案 1 :(得分:0)
您可以使用@ Ryan的答案,但如果您必须支持旧版本,可以使用 android.support.v4.view.MenuItemCompat :
MenuItemCompat.collapseActionView(searchMenuItem);