我有一个问题,似乎只有我一个人有这个问题。我已经实现了 textwatcher,当我在 listview 中过滤一个字符串时,它在列表中显示了两次该对象。
这就是我正在做的
filterText = (EditText) findViewById(R.id.EditText01);
filterText.addTextChangedListener(filterTextWatcher);
这是适配器和文本观察器。
adapter2 = new SimpleAdapter(ListBased.this, ListBasedList,
R.layout.list_item,new String[]
{ TAG_Location_Name, TAG_Address, TAG_Dist, TAG_Postal, TAG_Location_id, TAG_City, TAG_Company_id, TAG_Lat, TAG_Lng}, new int[] {
R.id.location_name, R.id.location_adress, R.id.dist, R.id.postal, R.id.location_location_id, R.id.location_city, R.id.location_company_id, R.id.lat, R.id.lng});
setListAdapter(adapter2);
}
}
private TextWatcher filterTextWatcher = new TextWatcher()
{
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
adapter2.getFilter().filter(s);
}
};
它工作得很好,就像打字一样,但这是一个屏幕截图,它是如何显示它的。
截图 在这里!
任何人都可以向我解释这个问题吗?