【问题标题】:How to delete an item from Sqlite database related to listview如何从 Sqlite 数据库中删除与 listview 相关的项目
【发布时间】:2013-04-29 03:48:49
【问题描述】:

我有一个从 sqlite 数据库填充数据的列表视图。当我单击列表视图中的某个项目时,它会转到一个新页面,该页面详细显示了列表视图项目。在该页面中有一个删除按钮,单击该按钮会从列表视图和数据库中删除该项目。

这怎么可能?

【问题讨论】:

  • 您的问题需要澄清。您是否在从 sqllite 数据库中删除行数据时发现问题,或者您在刷新列表视图时遇到困难。至少发布您已经尝试过的内容。

标签: android listview


【解决方案1】:

当您从 sqlite 填充列表视图时,使用 sqlite 表中记录的记录 ID 填充一个数组。 将所选记录 id 从该数组传递到列表视图详细信息页面。 然后在删除按钮的 onClick 中,只需从 sqlite 中删除记录并从数据库中重新绘制您的列表视图。

【讨论】:

  • 您能否展示一个与 sqlite 相关的如何执行此操作的示例?
【解决方案2】:

解决方案:

1. First solution:

当用户单击 listView 项目时,您发送下一个活动项目位置,您显示项目详细信息活动,如果用户按下删除,当用户返回 listView 活动时,您将返回此位置到 listView 活动。并在这里检查位置是否比需要删除此项目并刷新列表视图:

    listViewAdapter.remove(listViewAdapter.getItem(position));
    listViewAdapter.notifyDataSetChanged();

For send data to detail Activity and for give data from detail
Activity use onActivityResult method, see more information:

Getting a Result from an Activity

2. Second solution:

创建应用程序类扩展应用程序并使用它。创建

int selectedItemPosition
boolean itemDeleted

Application 类中的字段。当用户单击项目时,将此项目位置设置为此字段并将 itemDeleted 值设置为 false。当用户单击 Detail 活动中的删除按钮时,您需要将 itemDeleted 值设置为 true,并且当用户返回 listView 活动时,如果为 true,则始终检查 itemDeleted 值删除该项目并刷新 listView。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多