A
assenda
Ambitioniertes Mitglied
- 0
Hallo, ich versuche gerade, eine Schnittstelle zur Kontaktliste zu bekommen. Leider habe etwas Probleme mit einer Select-Anweisung...
Die Verbindung klappt so schon, nur werden momentan ALLE Daten ausgegeben, da ich noch keine Bedinung gestellt habe...
wenn ich hier die where einbinde, wird nichts mehr ausgegeben:
Kann jemand feststellen, wieso bei folgender Abfrage nichts mehr gefiltert werden kann?!
Danke
Die Verbindung klappt so schon, nur werden momentan ALLE Daten ausgegeben, da ich noch keine Bedinung gestellt habe...
wenn ich hier die where einbinde, wird nichts mehr ausgegeben:
Code:
return mContentResolver.query(CONTENT_URI, null, were , selectionArgs, null);
Kann jemand feststellen, wieso bei folgender Abfrage nichts mehr gefiltert werden kann?!
Code:
where = String.format("(%s LIKE ?) ", name);
String filter = String.valueOf(constraint) + '%';
selectionArgs = new String[] { filter, filter };
Code:
public class ContactAdapter extends ResourceCursorAdapter {
private static final Uri CONTENT_URI = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
private final ContentResolver mContentResolver;
String name;
public ContactAdapter(Context context) {
super(context, R.layout.dropdown_item, null);
mContentResolver = context.getContentResolver();
}
@Override
public final String convertToString(Cursor cursor) {
String projection = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
return projection;
}
@Override
public final void bindView(View view, Context context, Cursor cursor) {
TextView textFeldName = (TextView) view.findViewById(R.id.name);
TextView textFeldTelefon = (TextView) view.findViewById(R.id.telefon);
TextView textFeldTyp = (TextView) view.findViewById(R.id.typ);
name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
String phoneNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
String numberType = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
if (numberType.equals("0"))
numberType = "Work";
else if (numberType.equals("1"))
numberType = "Home";
else if (numberType.equals("2"))
numberType = "Mobile";
else
numberType = "Other";
textFeldName.setText(name);
textFeldTelefon.setText(phoneNumber);
textFeldTyp.setText(numberType);
}
@Override
public Cursor runQueryOnBackgroundThread(CharSequence constraint) {
String where = null;
String[] selectionArgs = null;
if (constraint != null) {
where = String.format("(%s LIKE ?) ", name);
String filter = String.valueOf(constraint) + '%';
selectionArgs = new String[] { filter, filter };
}
return mContentResolver.query(CONTENT_URI, null, null , null, null);
}
}