【发布时间】:2019-08-27 11:23:05
【问题描述】:
Android 环境
kotlin_version = '1.3.20'
compileSdkVersion 28
我有一个 ArrayAdapter
Activity.xml
<android.support.v7.widget.SearchView
android:id="@+id/searchView">
...
</android.support.v7.widget.SearchView>
<ListView
android:id="@+id/listView"
...
/>
Activity.kt
...
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextChange(newText: String): Boolean {
adapter.filter.filter(newText)
return true
}
override fun onQueryTextSubmit(query: String): Boolean {
// task HERE
return false
}
})
...
所以 setOnQueryTextListener() 工作正常,甚至 适配器 工作正常,但我无法让过滤器工作。
【问题讨论】:
-
老实说,最好的方法是使用 RecyclerView,并为您自己的代码放弃 SearchView ;) 但我知道这并不完全是一个完整的答案,因此它是一个评论。我认为 SearchView 曾经不适合我的要求。
-
你能发布你的适配器代码吗?
-
@EpicPandaForce 感谢您的建议。下次我会尝试使用 RecyclerView。:)
标签: android kotlin filter android-arrayadapter searchview