SearchView的建议列表中没有分隔符

时间:2015-07-09 04:57:59

标签: java android listview searchview

我按照谷歌关于custom suggestion的例子。我的项目非常简单:

  1. 一个ContentProvider.class
  2. 一个SqlOpenHelper.class
  3. 一个MainActivity.class
  4. 一个menu和一个layout,没有创建其他XML布局/可绘制。
  5. 我在SearchView Toolbar(AppCompat.v7)中有一个AppCompatActivity(support.v7),并使用Android 5.1.1和Android 4.3进行了测试。

    菜单中的SearchView很简单:

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action_search"
        android:icon="@android:drawable/ic_menu_search"
        app:showAsAction="always"
        app:actionViewClass="android.support.v7.widget.SearchView"
        android:title="Search"/>
      </menu>
    

    能够从简单的CustomContentProvider获得建议。但是,建议列表中没有分隔符(参见图像)。之前我还在另一个应用程序的正常布局中创建了类似的搜索功能。它正常工作,但这次SearchView位于菜单/工具栏中。

    enter image description here

    我可以使用以下代码更改建议列表的背景:

    private void initSearchView(MenuItem searchItem) {
        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        SearchableInfo searchableInfo = searchManager.getSearchableInfo(getComponentName());
        SearchView searchView = (SearchView) searchItem.getActionView();
    
        SearchView.SearchAutoComplete autoCompleteTextView = (SearchView.SearchAutoComplete) searchView.findViewById(R.id.search_src_text);
    
        /**
         * Todo: Change row style of suggestion List
         */
        if (autoCompleteTextView != null) { 
        autoCompleteTextView.setDropDownBackgroundDrawable(ContextCompat.getDrawable(this, R.drawable.search_suggestion_row));
        }
        searchView.setSearchableInfo(searchableInfo);
    }
    

    我尝试过更改Activity的主题但没有运气,我认为我不应该再次创建行布局和ListAdapter

    用于更改行样式或显示分隔符的任何解决方案。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

分隔符没有显示,因为它是棒棒糖中的错误,如果你覆盖**isEnabled()**这种情况,请参考此处,你可以了解更多信息。 https://code.google.com/p/android/issues/detail?id=83055