В моем приложении для хранения данных используется Sqlite. В таблице несколько столбцов, один из которых title. Данные из этого столбца передаются в ArrayList, который в свою очередь передается в адаптер ListView. Таким образом, на экране телефона появляется список из столбца title. При длительном нажатии на один item ListView появляется контекстное меню, через которое нужно удалить из базы данных ряд, title которого находится в item'е. Я второй день ломаю голову над тем, как сделать удаление. Когда вызывается контекстное меню, можно узнать позициию item'а, над которым оно было вызвано. Но для удаления нужна не позиция, а id ряда. Как мне реализовать удаление?
Я так понимаю, Вы воспользовались стандартным адаптером для списка ListView. который хранит только строковые переменные. Вы можете написать свой адаптер для ListView со своим сложным объектом. Свои объекты вы можете индексировать с помощью клаcса UUID, который представляет собой уникальный идентификатор:
public class Product {
public String name;
public int price;
public int image;
public UUID ID; //уникальный идентификатор
}
Product(String _describe, int _price, int _image) {
name = _describe;
price = _price;
image = _image;
ID = UUID.randomUUID(); //создаём уникальный идентификатор для объекта
}
По идентификатору вы можете легко удалять элементы из БД и из ListView. Подробнее о том, как работать с ListView можно посмотреть здесь и здесь. Также, в книге Android. Программирование для профессионалов Билл Филлипс, К. Стюарт, Кристин Марсикано есть целая глава, которая описывает управление объектами в БД.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть условие,но нужно что-бы я знал,есть ли информация в getIntent, как это проверить?
Пытаюсь создать фильтр для jList в котором присутствуют элементы из базы данных SQLite в своих попытках и не без помощи гугла продвинулся на половинуУдалось...
Есть надобность получать данные, которые приходят в приложение (apk)