Die Methode Cons.getpersonIdForRegisteredUser()
gibt eine Zeichenfolge zurück.
Meine Frage besteht aus zwei Teilen: Die eine ist die Person id
und der andere ist data enabled
Vergleichen eines bestimmten Felds mit einer Zeichenfolge in SQLite
@Override
public Loader<Cursor> onCreateLoader(final int i, final Bundle bundle) {
String sortOrder = ContactProviderContract.ContactDatabaseEntry.COLUMN_NAME_FIRST_NAME
+ " COLLATE NOCASE ASC";
String selection = ContactProviderContract.
ContactDatabaseEntry.COLUMN_NAME_PERSON_ID + " != " + Cons.getPersonIdForRegisteredUser(getActivity().getApplicationContext())
+ " AND "
+ ContactProviderContract.ContactDatabaseEntry.COLUMN_NAME_DATA_ENABLED + " = ?";
String[] selectionArgs = { "1" };
return new CursorLoader(getActivity().getApplicationContext(),
ContactProviderContract.CONTACTS_URI,
ContactProviderContract.ContactDatabaseEntry.MIN_DETAILS_COLUMNS,
selection,
selectionArgs,
sortOrder);
}
Der Fehler zu prüfen, ob die Zeichenfolge aus der Methode abgerufen Cons.getpersonid...()
als Säule betrachtet wird und nicht als String vergleichen .
Sie können nicht '! =' Oder 'AND' mit der Auswahl haben. Diese müssen 'WHERE' Argumente sein. –
Welche Codezeile verursacht den Fehler? –