在android searchview中添加计数文本字段

时间:2017-01-23 14:35:30

标签: android textview searchview

我在mainmenu.xml中有一个searchview

<item
    android:id="@+id/search"
    android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
    android:title="@string/view_search"
    app:actionViewClass="android.support.v7.widget.SearchView"
    app:showAsAction="ifRoom|collapseActionView"/>

我想在搜索结果的右侧显示一个带有搜索结果计数的文本视图。我该如何做到这一点?

3 个答案:

答案 0 :(得分:2)

您可以在工具栏中添加文本视图并显示计数,请参阅此link以便更好地理解。

我这里有一个示例代码:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:minHeight="?attr/actionBarSize"  
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:titleTextColor="@android:color/white"
    android:background="?attr/colorPrimary">

 <TextView
    android:id="@+id/toolbar_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Toolbar Title"
    android:textColor="@android:color/white"
    style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
    android:layout_gravity="center"
 />

</android.support.v7.widget.Toolbar>

或者您可以在操作栏中执行相同操作,请参阅此link以获取带有customView的操作栏

答案 1 :(得分:0)

这取决于您从何处,在线或本地获取结果。在任何情况下,当您获得结果时,要么调用“计数”查询,要么填充List(ArrayList)或任何类型。 最后,您需要做的就是

textview.setText(String.valueOf(results.size()));
// or
textview.setText(String.valueOf(count));

请记住从主线程中调用此方法。

答案 2 :(得分:0)

我最终将计数文本转换为drawable,并使用searchview的edittext右侧复合drawable在searchview的查询侦听器中显示此计数。