【问题标题】:How do I delete item from listview I used ArrayAdapter<String> to display on listview如何从列表视图中删除项目我使用 ArrayAdapter<String> 在列表视图上显示
【发布时间】:2012-09-09 02:49:39
【问题描述】:

谁能告诉我如何从列表视图中删除项目。我曾经使用数据库来存储在列表视图中显示的内容。要在列表视图上显示我使用 ArrayAdapter。现在我想从列表视图中删除项目。实际上只有在清除数据库并重新启动活动时才会删除项目。请帮助我获得解决方案。

【问题讨论】:

  • 您是否更改了适配器中的项目...意味着数据库项目是否已更改...??如果只是列表没有得到刷新尝试 adpater.notifydatasetChanged()
  • 是的,即使我没有使用 adapter.notifyDataSetChanged(),列表视图也会刷新。
  • 当我添加不存在问题的项目时,我可以获得适配器计数值,只是想在用户单击“删除”按钮时从列表视图中删除项目。
  • 实际上当我们需要在添加或删除项目时更新列表视图。我们需要重置适配器。如果是 CusrorAdapter,它会从光标内容自动刷新。
  • 您只想从列表视图或数据库中删除该项目

标签: java android android-listview


【解决方案1】:

如果您想从 listview 中删除任何项目,请删除 adapter 的源,从您将数据设置到适配器并显示到 listview 的位置。 p>

例如,

我将ArrayList&lt;String&gt; 设置为ArrayAdapter adapter 我正在考虑将数据收集到arrayList中。

现在删除:

arrayList.remove(pass the position here)

然后

adapter.notifyDataSetChanged()

希望对您有所帮助。

【讨论】:

  • 实际上现在可以删除,但是每次我需要清除数据库并重新启动活动时,它只会删除一次,我的意思是第一次如果我在不清除数据库的情况下重新启动活动,它不会只工作.
【解决方案2】:

这有帮助吗?

void Reload()
{
    ArrayAdapter adapter= new  ArrayAdapter(context, ...);
    listView.setAdapter(adapter);
}

【讨论】:

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