【问题标题】:Listview delete item from DatabaseListview 从数据库中删除项目
【发布时间】:2011-04-13 13:09:04
【问题描述】:

嘿。我有以下代码:

final String text = (String) lt.getItemAtPosition(position); 
                    db.removeCategory(text);

我想做的是从 ListView 中删除一个项目。我遇到的问题是我只能删除列表第一个位置的项目。

就像getItemAtPosition(0);

这是为什么呢?有人可以帮忙吗?

谢谢

【问题讨论】:

  • 你能在这个问题上多合作一点吗?我猜你有一个包含数据库元素的 ListView?您想仅从列表中删除该项目还是从数据库中删除该项目?请提供更多代码。
  • 试试这个:从最终字符串中删除最终文本=....
  • text =lt.getItemAtPosition(position).toString() 我明白了。现在它正在工作。谢谢
  • 什么是 db.removeCategory()?那是您的自定义功能吗?如果是,请同时发布该代码。详细说明您的代码和情况,以帮助您获得更多帮助。
  • remove 类别是 DBAdapter 类中的一个方法,用于从数据库中删除数据。

标签: android database listview android-activity


【解决方案1】:

将您的数组绑定到 ArrayAdapter 并使用它的 remove 方法删除特定对象。请参阅此链接以了解其工作原理。

Remove ListView items in Android

【讨论】:

  • 我的问题是它只删除了列表的第一个位置。无论我点击什么项目,唯一被删除的项目是第一个。
  • 如果它只删除第一个,你的position'变量很可能是错误的。请发布你是如何得到它的..
  • public void onClick(DialogInterface di, int arg) { db.open(); text= lt.getItemAtPosition(position).toString(); db.removeCategory(text); aa.notifyDataSetChanged();
【解决方案2】:

为什么不将项目添加到集合或数据数据表中,然后将其绑定到 ListView。

在删除阶段,您从集合/数据表中删除项目,而不是直接从 ListView 中删除项目。

【讨论】:

  • text =lt.getItemAtPosition(position).toString() 我明白了。现在它正在工作。还是谢谢
  • 你能详细解释一下吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-27
  • 1970-01-01
  • 1970-01-01
  • 2017-12-11
  • 2018-11-19
相关资源
最近更新 更多