@Override
 protected View newView(
     Context context, int partition, Cursor cursor, int position, ViewGroup parent) {
   final ContactListItemView view = new ContactListItemView(context, null);
   view.setUnknownNameText(mUnknownNameText);
   return view;
 }
  protected void bindPhoneNumber(ContactListItemView view, Cursor cursor) {
    CharSequence label = null;
    if (!cursor.isNull(PHONE_TYPE_COLUMN_INDEX)) {
      final int type = cursor.getInt(PHONE_TYPE_COLUMN_INDEX);
      final String customLabel = cursor.getString(PHONE_LABEL_COLUMN_INDEX);

      // TODO cache
      label = Phone.getTypeLabel(getContext().getResources(), type, customLabel);
    }
    view.setLabel(label);
    view.showData(cursor, PHONE_NUMBER_COLUMN_INDEX);
  }
 protected void bindName(final ContactListItemView view, Cursor cursor) {
   view.showDisplayName(cursor, PHONE_DISPLAY_NAME_COLUMN_INDEX, getContactNameDisplayOrder());
   view.showPhoneticName(cursor, PHONE_PHONETIC_NAME_COLUMN_INDEX);
 }