当用户在 中的搜索小部件中提交应用程序范围的搜索时ActionBar,我希望它在提交后自动折叠。提交基本上打开了SearchableActivity. 目前,如果他们关闭搜索结果活动 ( SearchableActivity),搜索小部件仍处于打开状态。我只是想让它关闭;并且没有文字。
从周围阅读,我似乎认为答案是这样的
`searchView.onActionViewCollapsed() ;' 
但是,我不知道该放在哪里?
这是我的代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    MenuItem searchItem = menu.findItem(R.id.menu_search);
    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
    SearchView searchView = (SearchView) searchItem.getActionView();
    searchView.setSearchableInfo(searchManager
            .getSearchableInfo(getComponentName()));
    searchView.setIconifiedByDefault(true);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
    setupNewSearchView(searchItem, searchManager);
}
return true;
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void setupNewSearchView(final MenuItem searchItem,
        SearchManager searchManager) {
    android.widget.SearchView searchView = (android.widget.SearchView) searchItem
            .getActionView();
    searchView.setSearchableInfo(searchManager
            .getSearchableInfo(getComponentName()));
    searchView.setIconifiedByDefault(true);
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    MenuItem About = menu.findItem(R.id.About);
    MenuItem Login = menu.findItem(R.id.Login);
    MenuItem Logout = menu.findItem(R.id.Logout);
    MenuItem Settings = menu.findItem(R.id.Settings);
    MenuItem Search = menu.findItem(R.id.menu_search);
    MenuItem Add = menu.findItem(R.id.Add);
    Add.setVisible(false);
    if (LoggedStatus == true) {
        // show the log out option
        Logout.setVisible(true);
        Login.setVisible(false);
        Settings.setVisible(true);
    } else {
        // show the log in option
        Logout.setVisible(false);
        Login.setVisible(true);
        Settings.setVisible(false);
    }
    About.setVisible(true);
    return true;
}
注意,我正在使用SherlockActionBar.