android-提交后折叠搜索视图

问题描述 投票:11回答:5

我正在应用程序中使用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;
        }

我不使用ActionBar,所以没有像crashActionView()这样的函数。

等待帮助

谢谢

android collapse searchview
5个回答
15
投票

您需要两次调用setIconified(true)才能真正折叠您的搜索视图,其中第二个调用键盘会清除第一个调用文本,并关闭搜索视图。


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

3
投票

如果在选项菜单中使用SearchView,则可以调用invalidateOptionsMenu()


2
投票
//close suggestion list on query text submit
searchView.setIconified(true);

0
投票
    final MenuItem searchterm = menu.findItem(R.id.search);
    SearchView searchView = null;
     searchView = (SearchView) searchterm.getActionView();

     searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

        @Override
        public boolean onQueryTextSubmit(String query) {

            searchterm.collapseActionView();
}});
© www.soinside.com 2019 - 2024. All rights reserved.