Android 具有多个textview的listview过滤器
我有一个包含3个文本视图的列表视图。我想构建一个过滤器来过滤第一个文本视图。 但是我构建的过滤器现在正在过滤ListView中的所有项目。 有没有办法只过滤特定的文本视图Android 具有多个textview的listview过滤器,android,android-layout,Android,Android Layout,我有一个包含3个文本视图的列表视图。我想构建一个过滤器来过滤第一个文本视图。 但是我构建的过滤器现在正在过滤ListView中的所有项目。 有没有办法只过滤特定的文本视图 ... filterText = (EditText) findViewById(R.building_list.search_box); filterText.addTextChangedListener(filterTextWatcher); ListAdapter adap
...
filterText = (EditText) findViewById(R.building_list.search_box);
filterText.addTextChangedListener(filterTextWatcher);
ListAdapter adapter = new SimpleAdapter(this, menuItems,
R.layout.list_item,
new String[] {KEY_NAME, KEY_DESC, KEY_DATE, KEY_LINK }, new int[] {
R.id.name, R.id.desciption, R.id.date, R.id.link});
Filter filterx = ((Filterable) adapter).getFilter();
setListAdapter(adapter);
...
将三个
TextView
的内容放在一个名为Data
的类中:
public class Data {
public final String text1;
public final String text2;
public final String text3;
public Data(String t1, String t2, String t3){
this.text1 = t1;
this.text2 = t2;
this.text3 = t3;
}
@Override
public final String toString(){
return text1;
}
}
现在在适配器中使用
数据
对象的集合。适配器的默认Filterable
实现使用其对象的toString()
进行过滤,在本例中为text1
。因此,适配器将基于text1
进行过滤。默认simpledapter
的默认过滤器将使用行的映射的所有列进行过滤。您需要实现自己的过滤器,该过滤器只考虑第一个代码>文本>文本/代码>的数据。或者类似问题的手动方法。