1

我的操作栏中有一个SearchView。当用户搜索时,我调用 myAsyncTask开始获取数据,但在重新调整数据后,SearchView崩溃。

这是我创建搜索小部件的代码:

public boolean onCreateOptionsMenu(Menu menu) {

    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.search, menu);

    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

    if (this.objAdapter == null) {
        searchView.setIconified(false);
        searchView.requestFocusFromTouch();
    }

    return true;

}

我想防止用户折叠SearchView. 我希望搜索字符串始终可见。

我怎样才能做到这一点?

4

3 回答 3

4

使用搜索视图示例

对于您的情况,请使用操作标志 - SHOW_AS_ACTION_WITH_TEXT

希望能帮助到你!

于 2012-10-26T11:09:14.757 回答
1

在 SearchView 实例上,您需要调用:

searchView.setIconified(false)
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
  @Override
  public boolean onClose() {
    return true; //returning true will stop search view from being collapsed 
  }
})
于 2017-08-01T10:36:14.117 回答
-1

iconifiedByDefault属性设置为falsehttp://developer.android.com/reference/android/widget/SearchView.html

于 2014-07-03T17:27:21.987 回答