Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在listview Android上从sqlite删除行_Android_Sqlite - Fatal编程技术网

如何在listview Android上从sqlite删除行

如何在listview Android上从sqlite删除行,android,sqlite,Android,Sqlite,我有一个listview,我从sqlite数据库获取数据。我的问题是删除用户从listview中选择的行。我可以按删除所有表 dbConn.delete(“Restobj”,null,null) 但是我不能删除从listview中选择的一行 请帮助将这两个参数用于delete方法。有关更多信息,请参阅API文档 传入非null的内容 另外,尝试在stackoverflow和/或Google上搜索此主题。答案很多。您需要为数据库对象提供适当的值。我假设dbConn是数据库对象的实例。如果是这种情

我有一个listview,我从sqlite数据库获取数据。我的问题是删除用户从listview中选择的行。我可以按删除所有表

dbConn.delete(“Restobj”,null,null)

但是我不能删除从listview中选择的一行


请帮助

将这两个参数用于delete方法。有关更多信息,请参阅API文档

传入非null的内容


另外,尝试在stackoverflow和/或Google上搜索此主题。答案很多。

您需要为数据库对象提供适当的值。我假设dbConn是数据库对象的实例。如果是这种情况,可以传入带有3个参数的dbConn.delete()。第一个参数是表名。第二个是where条款。这类似于:

"id = " + objectDatabaseId
在这种情况下,最后一个变量可以留空。最终的结果是:

String whereClause = "id = " + objectDatabaseId;
dbConn.delete("Restobj", whereClause, null);
作为旁注,在引用与“Restobj”类似的表名和表列时,最好使用常量。您应该使用类似RestObject.table_的名称,其中常量定义为RestObject内部的静态最终字符串


-Randall

您基本上需要从所选ListView项获取行id。使用行id可以轻松删除该行:

String where = "_id = " + _id;
db.delete(TABLE_NAME, where, null);
删除行项目后,确保获得ListView适配器光标并执行重新查询。如果不这样做,您将看不到更新的表,因此更新了ListView