我在使用搜索栏过滤Android ListView时遇到问题。 在我扩展我的代码并添加一个CustomList类之前,它工作正常。 CustomList类用于填充包含图像和子文本的ListView。我的CustomList类扩展了ArrayAdapter。
这是两个类的相关代码
public class Reservation {
private String name;
private int timeSlot;
private Reservable myReservable;
public Reservation(String name, int timeSlot) {
this.name = name;
this.timeSlot = timeSlot;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getTimeSlot() {
return timeSlot;
}
public void setTimeSlot(int timeSlot) {
this.timeSlot = timeSlot;
}
public Reservable getMyReservable() {
return myReservable;
}
public void setMyReservable(Reservable myReservable) {
this.myReservable = myReservable;
}
public boolean isActive() {
return false;
}
和MainActivity:
public class CustomList extends ArrayAdapter<String> {
private final Activity context;
private final String[] languages;
public CustomList(Activity context, String[] languages) {
super(context, R.layout.list_single, languages);
this.context = context;
this.languages = languages;
}
}
当我在搜索栏中输入文本时,只剩下listView中的第一个元素。其余的被过滤掉了:
我不确定我遗漏或未看到的内容。有人请帮忙。
答案 0 :(得分:1)
如果您要自定义ArrayAdapter,那么您应该实现一个可过滤的接口来搜索适配器中的数据。