Я использую следующий код для заполнения переменной ContentValues.
public ContentValues getContentValues() {
ContentValues initialValues = new ContentValues();
initialValues.put("blt_name", m_name);
initialValues.put("blt_pictureURI", m_pictureURI);
initialValues.put("blt_description", m_description);
initialValues.put("blt_UUID", getUUID().toString());
return initialValues;
}
Моя проблема в том, что put () помещает UUID и имя в одно и то же место хеширования! Понятия не имею почему. При создании переменной initialValues создается внутренняя хэш-карта с 7 слотами. При вводе значений ключ добавляется в слот 0, имя также добавляется в слот 0 (перезаписывается uuid), рис добавляется в слот 3 и desc добавляется в слот 7.
Все четыре ключа, конечно, разные значения, объявленные как окончательные строки.
Я пытался новых ContentValues (4) , чтобы заставить их в нужное место, что было хуже. 2 значения были перезаписаны.
[Edit] Я только что попытался изменить порядок путов. Перемещая UUID так, чтобы он ставился () последним, он все равно перезаписывает слот 0 в hashmap. (Я знаю, что вы думаете, и ДА ключи уникальны.)
[РЕДАКТИРОВАТЬ] Я попробовал это со следующим кодом, и он отлично работает. Я в растерянности. Я также отредактировал исходный вопрос, потому что попробовал его с жестко закодированными строками, и это тоже не сработало.
initialValues.put("a", m_name);
initialValues.put("b", m_pictureURI);
initialValues.put("c", m_description);
initialValues.put("d", getUUID().toString());
Любая помощь будет оценена,
-I_Artist