我在SearchView中设置了:
setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String) = false
override fun onQueryTextChange(newText: String): Boolean {
filterSet.apply {
clear()
addAll(searchSet.filter {
if (newText.isEmpty()) true
else it.name.contains(newText, true)
})
}; return false
}
}
SonarLint说true
(在else
之前)是不必要的,为什么? 不然怎么做呢?
您不需要在筛选器中有if和else,您的代码可以是下一个形式
//要更改的行
if (newText.isEmpty()) true
else it.name.contains(newText, true)
//要更改的行
newText.isEmpty() || it.name.contains(newText, true) ? true : false
setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String) = false
override fun onQueryTextChange(newText: String): Boolean {
searchSet.filter { newText.isEmpty() || it.name.contains(newText, true) } return false
}
}