java - 在 ListView 中实现搜索功能时出错
问题描述
我在列表视图中实现搜索但失败了,然后从 YOUTUBE 视频参考中获得了一段代码,但它在JAVA中,但我正在使用KOTLIN。
当我转换它时,我又失败了。你能帮我这个JAVA代码的KOTLIN代码吗
@Override
public Filter getFilter() {
Filter filter = new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
FilterResults filterResults = new FilterResults();
if(constraint == null || constraint.length() == 0){
filterResults.count = countryModelsList.size();
filterResults.values = countryModelsList;
}else{
List<CountryModel> resultsModel = new ArrayList<>();
String searchStr = constraint.toString().toLowerCase();
for(CountryModel itemsModel:countryModelsList){
if(itemsModel.getCountry().toLowerCase().contains(searchStr)){
resultsModel.add(itemsModel);
}
filterResults.count = resultsModel.size();
filterResults.values = resultsModel;
}
}
return filterResults;
}
我失败的地方是实现覆盖方法
解决方案
这是通过运行android studio 中内置的 convert to Koltin 功能得到的。
val filter: Filter
get() {
val filter: Filter = object : Filter() {
protected fun performFiltering(constraint: CharSequence?): FilterResults {
val filterResults = FilterResults()
if (constraint == null || constraint.length == 0) {
filterResults.count = countryModelsList.size()
filterResults.values = countryModelsList
} else {
val resultsModel: List<CountryModel> = ArrayList<Any>()
val searchStr = constraint.toString().toLowerCase()
for (itemsModel in countryModelsList) {
if (itemsModel.getCountry().toLowerCase().contains(searchStr)) {
resultsModel.add(itemsModel)
}
filterResults.count = resultsModel.size()
filterResults.values = resultsModel
}
}
return filterResults
}
}
}
如果这不起作用,请随时回复您的更多代码或 youtube 视频的链接,我会尝试再看一下。
推荐阅读
- python - 为什么 Python 编译这段代码不会抛出错误?
- java - 带有 AutoCompleteTextView 的 TextInputLayout 不显示项目的全文
- bootstrap-4 - 我想在大屏幕上连续放置 4 个图像 3 个图像在中,2 个图像在小屏幕上,但是图像正在改变线条而不是连续出现
- javascript - 如何在 Angular 和 .NET core SignalR 中实时发送图像?
- php - 基本身份验证将 API_KEY 发送到 php api - REACTJS
- javascript - Typescript - 'string | 类型的参数 (string | null)[]' 不能分配给“string”类型的参数
- typescript - 为什么 else if 子句会导致“此条件将始终返回 'true'”错误?
- r - 将 NA 分配给特定行
- freeradius - 如何在 Debian 10 上的 freeradius (3.0) 中配置会计
- python - 无法在 Windows 10 中使用 Pipenv .env 文件定义空环境变量