Я начинаю изучать, как работать с базой данных SQL и ContentProviders. Я разрабатываю приложение, которое состоит из ListActivity, где у меня есть некоторые элементы. Я знаю, как вставить новый элемент в базу данных, но проблема в том, что ...Обновление/удаление элемента в списке из базы данных
Когда я хочу обновить или удалить один элемент, я долго нажимаю на него, а на ContextMenu выбираю один из вариантов выбора.
Это методы для обновления/удаления элемента с помощью Content Provider:
public void updateTravel(String city, String country, int year, String note, String id {
ContentValues updateValues = new ContentValues();
updateValues.put(Travels.CITY, city);
updateValues.put(Travels.COUNTRY, country);
updateValues.put(Travels.YEAR, year);
updateValues.put(Travels.NOTE, note);
getContentResolver().update(TravelsProvider.CONTENT_URI, updateValues, Travels._ID+"="+id, null);
}
private void deleteTravel(String id){
getContentResolver().delete(TravelsProvider.CONTENT_URI, Travels._ID+"="+id, null);
Я не уверен, если это правильно, но я вижу, что я должен передать идентификатор элемента для обновления или удалить его. Я сомневаюсь, как получить идентификатор одного элемента?
Не передавайте идентификатор элемента списка. u необходимо передать другое уникальное значение для обновления или удаления из базы данных. – Andrain
Строка selectedFromList = (String) (lv.getItemAtPosition (позиция)); , пожалуйста, проверьте это – dipali
в этой строке, вы можете получить значение строки, а затем вы можете найти уникальный идентификатор из этого метода .. но вы должны создать метод getter/setter – dipali