【发布时间】:2014-12-15 07:58:13
【问题描述】:
这是我的模型:
public class AudioFile {
private int id;
private String fileName;
private String[] subStrings;
public AudioFile(int id, String fileName, String[] subStrings){
this.id = id;
this.fileName = fileName;
this.subStrings = subStrings;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String[] getSubStrings() {
return subStrings;
}
public void setSubStrings(String[] subStrings) {
this.subStrings = subStrings;
}
@Override
public String toString() {
return fileName;
}
}
我填充了我的列表视图,并使用了我的自定义适配器。现在我想根据subStrings数组过滤列表视图:
@SuppressLint("DefaultLocale")
@Override
protected FilterResults performFiltering(CharSequence constraint) {
constraint = constraint.toString().toLowerCase();
if (constraint != null) {
suggestions.clear();
for (AudioFile _data : itemsAll) {
if (_data.getSubStrings().contains(constraint)) {
suggestions.add(_data);
}
}
FilterResults filterResults = new FilterResults();
filterResults.values = suggestions;
filterResults.count = suggestions.size();
return filterResults;
} else {
return new FilterResults();
}
}
如您所见,我只是根据_data.getSubStrings().equals(constraint) 过滤结果,但它不起作用。
有什么想法吗?
【问题讨论】:
-
什么是 getSubStrings() ?
-
它包含字符串数组
-
一旦人们开始回答问题,请不要更改问题,除非添加说明。将实际代码从可以编译但不起作用的代码更改为无法编译的代码,只会使人们的答案无效。
-
@SirwanAfifi,你是否对我的问题投了反对票,你能给出理由吗?
-
@HareshChhelana 我没有否决你的回答。