2012-10-03 48 views
3

我已经在android开发人员网站上的官方指南之后的操作栏中实施了搜索小部件。小部件以折叠状态开始。当用户点击搜索图标时,它会展开并弹出键盘,用户可以搜索。一旦用户按下输入一个新的活动启动顶部处理并显示搜索。当用户按回退到前一个活动(搜索前)时,我希望搜索视图会自动折叠,因为用户只是进行搜索。我如何做到这一点?现在用户不得不按下后退键2,一次关闭键盘和一次折叠搜索小部件。我曾尝试折叠搜索部件android

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

坍塌的键盘,但用户仍然需要再次按下后退按钮真正崩溃的观点和将其移回其在动作条的位置。

回答

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(); 

希望这可以帮助别人。

+0

这是迄今为止最简单,最优雅的方式来做到这一点。 –

0

您可以使用@瑞安的答案,但如果你必须支持旧版本,你可以用android.support.v4.view.MenuItemCompat做到这一点:

MenuItemCompat.collapseActionView(searchMenuItem);