我需要为ListActivity创建一个过滤器,每个项目都是一个对象。 我的想法是创建一个TextView并在每次按键时过滤列表。
对不起我的英语,我来自阿根廷,我的英语不好。
非常感谢
private ContentResolver cr;
private TextView lblMensaje;
private int ordenBan = 1; // 1 = asc
private ArrayList<Contacto> contactos = new ArrayList<Contacto>();
private ArrayAdaptador adapter;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
listarContactos("ASC");
// registerForContextMenu(lblMensaje);
registerForContextMenu(getListView()); // Le asocio a la lista un menu
// contextual
}
public void listarContactos(String orden) {
cr = getContentResolver();
Cursor cur;
cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null,
ContactsContract.Contacts.DISPLAY_NAME + " " + orden);
recorrerCursor("1", cur); // Listo los favoritos
cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null,
ContactsContract.Contacts.DISPLAY_NAME + " " + orden);
recorrerCursor("0", cur); // Listo los contactos normales
this.setListAdapter(new ArrayAdapter<Contacto>(this,
R.layout.filalayout, R.id.nombre, contactos));
adapter = new ArrayAdaptador(this, R.id.nombre,
contactos);
setListAdapter(adapter);
}
public void recorrerCursor(String fav, Cursor cur) {
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String esFavorito = cur.getString(cur
.getColumnIndex(ContactsContract.Contacts.STARRED));
if (esFavorito.equals(fav)) {
String id = cur.getString(cur
.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur
.getString(cur
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Contacto contacto = new Contacto();
contacto.setDisplayName(name);
if (fav.equals("1")) {
contacto.setFavorito(true);
} else {
contacto.setFavorito(false);
}
contacto.setId(id);
if (Integer
.parseInt(cur.getString(cur
.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
contacto.setPhone(this.getPhoneNumbers(id));
}
contacto.setEmail(this.getEmailAddresses(id));
contacto.setPhoto(this.getPhotoUri(id));
contactos.add(contacto);
}
}
}
}
答案 0 :(得分:0)
对于那个(@Kurtis)来说并不是真的重复,因为该链接不显示对象数组。我发现此链接非常有用:
http://www.mokasocial.com/2010/07/arrayadapte-filtering-and-you/
它显示了如何实现一个自定义过滤器,它将过滤掉一组对象。