如何在Android的ListView中从sqlite删除行

问题描述

| 我有一个listview,我正在从sqlite数据库获取数据。我的问题是删除用户从列表视图中选择的行。我可以删除所有表格 dbConn.delete(\“ Restobj \”,null,null); 但是我无法删除从列表视图中选择的一行。 请帮忙     

解决方法

        本质上,您需要从选定的ListView项中获取行ID。使用行ID,您可以轻松删除该行:
String where = \"_id = \" + _id;
db.delete(TABLE_NAME,where,null);
删除行项目后,请确保获得ListView适配器光标并进行重新查询。如果不这样做,您将看不到更新的表,因此也看不到更新的ListView。     ,        将其他两个参数用于delete方法。查看API文档以了解更多信息。 http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#delete%28java.lang.String,%20java.lang.String,%20java.lang.String[]%29 传递非null的值。 另外,请尝试在stackoverflow和/或Google上搜索该主题。答案很多。     ,        您需要向数据库对象提供适当的值。我假设dbConn是数据库对象的实例。在这种情况下,您可以使用3个参数传递dbConn.delete()。第一个参数是表名。第二个是whereClause。这类似于:
\"id = \" + objectDatabaseId
在这种情况下,最终变量可以保留为空白。最终结果是这样的:
String whereClause = \"id = \" + objectDatabaseId;
dbConn.delete(\"Restobj\",whereClause,null);
附带说明一下,在引用与“ Restobj \”相对应的表名和表列时,最好使用常量,您应该有类似RestObject.TABLE_NAME的名称,其中常量定义为内部的静态最终String。 RestObject。 -兰德尔