У меня есть пользовательский класс с реализацией:
private static class Item {
String userID;
String userEmail;
Item(String userID, String userEmail) {
this.userID = userID;
this.userEmail = userEmail;
}
}
Вот как я обновляю значения в ContentProvider:
@Override
public int update(@NonNull Uri uri, ContentValues values, String selection, String[] selectionArgs) {
int itemPosition = 0;
// Adding dummy data incase Items List is empty.
if (items.isEmpty()) {
add(values);
} else {
items.set(itemPosition, new Item(values.getAsString(K.USER_ID_COLUMN_NAME), values.getAsString(K.USER_EMAIL_COLUMN_NAME)));
}
return notifyChange(uri, itemPosition);
}
А вот как я передаю значения в метод:
ContentValues values = new ContentValues();
values.put(K.USER_ID_COLUMN_NAME, "1234");
values.put(K.USER_EMAIL_COLUMN_NAME, "test@m.com);
getContext().getContentResolver().update(K.CONTENT_URI, values, null, null);
Мой вопрос: как мне изменить метод обновления, чтобы я мог использовать selection
и selectionArgs
, чтобы обновить только один из столбцов и оставить другие столбцы без изменений? Я не хочу усложнять ситуацию с SQLite, но лучше использовать MatrixCursor.