我的CursorAdapter在ListView中显示调用日志。我想只显示一次所有数字,但如果我给某人打了三次电话,那么这将显示同一行3次。 我只需要一次显示每个数字。
这是我的CursorAdapter的一部分:
class LogAdapter extends CursorAdapter {
@Override
public void bindView(View view, Context context, Cursor cursor) {
final ViewHolder holder = (ViewHolder) view.getTag();
String number = cursor.getString(LogQuery.NUMBER);
Cursor contactCursor = getContactCursor(number);
if (contactCursor.getCount() >= 1) {
String name = contactCursor.getString(ContactsQuery.NAME);
Uri contactUri = Contacts.getLookupUri(
contactCursor.getLong(ContactsQuery.ID),
contactCursor.getString(ContactsQuery.LOOKUP_KEY));
holder.mName.setText(name);
holder.mNumber.setText(number);
}
}
private Cursor getContactCursor(String number) {
Uri contactUri = Uri.withAppendedPath
(ContactsQuery.CONTENT_FILTER_URI, Uri.encode(number));
Cursor cursor = getActivity().getContentResolver().query
(contactUri, ContactsQuery.PROJECTION, null, null, null);
cursor.moveToFirst();
return cursor;
}
}