searchview使用
时间: 2023-10-24 15:09:04 浏览: 85
SearchView是一个Android widget,可以在Toolbar或ActionBar中添加搜索栏。它允许用户输入搜索查询并显示搜索结果。
使用步骤:
1. 在布局文件中添加SearchView:
```xml
<androidx.appcompat.widget.SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:iconifiedByDefault="false"
app:queryHint="Search here" />
```
2. 在Activity或Fragment中获取SearchView的实例:
```kotlin
val searchView = findViewById<SearchView>(R.id.search_view)
```
3. 设置SearchView的监听器,以便在查询文本更改时触发搜索:
```kotlin
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String): Boolean {
// 处理提交的搜索查询
return true
}
override fun onQueryTextChange(newText: String): Boolean {
// 处理搜索查询文本更改
return true
}
})
```
4. 在onCreateOptionsMenu方法中设置SearchView为MenuItem:
```kotlin
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.search_menu, menu)
val searchItem = menu.findItem(R.id.action_search)
val searchView = searchItem.actionView as SearchView
// 设置SearchView的监听器
return true
}
```
5. 在菜单文件中添加搜索菜单项:
```xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_search"
android:title="@string/search"
android:showAsAction="ifRoom|collapseActionView"
android:actionViewClass="androidx.appcompat.widget.SearchView" />
</menu>
```
这样就可以在Toolbar或ActionBar中添加搜索栏了。
阅读全文