Improve search behavior

feature/players
Aurelien Hubert 6 years ago
parent eef60124ed
commit dcc6be514a
  1. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt

@ -44,6 +44,7 @@ open class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataS
private lateinit var dataType: LiveData private lateinit var dataType: LiveData
private lateinit var items: RealmResults<out Deletable> private lateinit var items: RealmResults<out Deletable>
private var dataListMenu: Menu? = null private var dataListMenu: Menu? = null
private var searchView: SearchView? = null
var isSearchable: Boolean = false var isSearchable: Boolean = false
set(value) { set(value) {
@ -96,9 +97,9 @@ open class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataS
val searchMenuItem = menu.findItem(R.id.action_search) val searchMenuItem = menu.findItem(R.id.action_search)
searchMenuItem.isVisible = isSearchable searchMenuItem.isVisible = isSearchable
val searchView = searchMenuItem.actionView as SearchView searchView = searchMenuItem.actionView as SearchView?
searchView.removeMargins() searchView?.removeMargins()
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener { searchView?.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String?): Boolean { override fun onQueryTextSubmit(query: String?): Boolean {
return false return false
} }
@ -131,6 +132,7 @@ open class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataS
} }
override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) { override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) {
searchView?.clearFocus()
when (this.dataType) { when (this.dataType) {
LiveData.FILTER -> { LiveData.FILTER -> {

Loading…
Cancel
Save