1
我开始学习如何使用SQL数据库和ContentProviders。我正在开发一个应用程序,它包含一个ListActivity,其中包含一些项目。我知道如何在数据库中插入新元素,但问题是...从数据库更新/删除列表视图中的元素
当我想更新或删除一个元素时,我长时间点击它并在ContextMenu上选择一个展位选项。
这些更新/通过内容提供商删除项目的方法:
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);
我不知道这是否是正确的,但我知道我必须通过元素的ID更新或删除它。我的疑问是,我如何获得一个物品的ID?
不要传递listview项的id。你必须传递另一个唯一的值来更新或从数据库中删除。 – Andrain
String selectedFromList =(String)(lv.getItemAtPosition(position)); 请在这一行中检查这个 – dipali
你可以得到字符串的值,然后你可以从这个方法中找到唯一的ID ..但你必须创建getter/setter方法 – dipali