android - 提交后折叠searchview

dra*_*ula 10 android collapse searchview

我在我的应用程序中使用searchview(没有操作栏).如何在查询文本提交后折叠searchview?

我有这些听众;

        @Override
        public boolean onQueryTextSubmit(String query) {

            InputMethodManager imm = (InputMethodManager)thisFr.getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(globalSearch.getWindowToken(), 0);

            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {
            // TODO Auto-generated method stub
            return false;
        }
Run Code Online (Sandbox Code Playgroud)

我不使用ActionBar所以我没有像collapseActionView()这样的函数.

等待帮助

谢谢

arn*_*ans 14

您可以在活动中以这种方式执行此操作,使用actionbarsherlock进行测试(它甚至隐藏键盘,确保在onQueryTextSubmit中返回false):

private MenuItem searchMenuItem;

public MenuItem getSearchMenuItem() {
    return searchMenuItem;
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // ...
    searchMenuItem = menu.findItem(R.id.menu_search);
    // ...
    searchView.setOnQueryTextListener(new OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            MenuItem searchMenuItem = getSearchMenuItem();
            if (searchMenuItem != null) {
                searchMenuItem.collapseActionView();
            }
            return false;
        }
        @Override
        public boolean onQueryTextChange(String newText) {
            // ...
            return true;
        }
    });
    // ...
    return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)


小智 13

您需要调用setIconified(true)两次以实际折叠搜索视图,第一个调用文本将被第二个调用键盘清除,搜索视图将被关闭.