使用 SearchView.setOnQueryTextListener 时如何检测空字符串
How can I detect an empty string when I use a SearchView.setOnQueryTextListener
每当 SearchView 的查询文本发生变化时,我都会尝试过滤列表。
svComuni
是 SearchView 的名称。
这是我的主代码 activity:
private fun setUIControl() {
binding.svComuni.setOnQueryTextListener(textChangeListener())
}
inner class textChangeListener: SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(p0: String?): Boolean {
return findAllSimilarCountry(p0)
}
override fun onQueryTextChange(p0: String?): Boolean {
return findAllSimilarCountry(p0)
}
}
private fun findAllSimilarCountry(p0: String?): Boolean {
Log.d(TAG, p0!!)
return true
}
通过使用此侦听器,当我插入一些字符和提交时,我能够检测到 SearchView 查询文本中的所有更改,但如果我删除最后一个字符则无法检测到。因此空查询文本不会触发侦听器。我怎样才能包括这个案例?
您是否尝试向侦听器方法添加验证?例如:
if (p0.equals("")) {
return false
} else {
return findAllSimilarCountry(p0)
}
每当 SearchView 的查询文本发生变化时,我都会尝试过滤列表。
svComuni
是 SearchView 的名称。
这是我的主代码 activity:
private fun setUIControl() {
binding.svComuni.setOnQueryTextListener(textChangeListener())
}
inner class textChangeListener: SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(p0: String?): Boolean {
return findAllSimilarCountry(p0)
}
override fun onQueryTextChange(p0: String?): Boolean {
return findAllSimilarCountry(p0)
}
}
private fun findAllSimilarCountry(p0: String?): Boolean {
Log.d(TAG, p0!!)
return true
}
通过使用此侦听器,当我插入一些字符和提交时,我能够检测到 SearchView 查询文本中的所有更改,但如果我删除最后一个字符则无法检测到。因此空查询文本不会触发侦听器。我怎样才能包括这个案例?
您是否尝试向侦听器方法添加验证?例如:
if (p0.equals("")) {
return false
} else {
return findAllSimilarCountry(p0)
}