Android方法从ListView中删除项目?在运行时切换项目布局

时间:2011-11-15 13:50:34

标签: android listview layout

我已经阅读了这个主题:Android delete from listview, user experience因为我有一个不同的想法如何从列表中删除项目就是我想到的。

我必须说我还没有对此进行编码,我在做我想做的事情时遇到了一些问题,所以对技术方面的帮助也很受欢迎。

由于有新的操作栏,我添加了一个菜单选项Delete并将其设置为显示在ListView的操作栏中。接下来我打算让菜单选项可以检查,这样我就能以某种方式高亮显示操作栏中的删除选项,例如它看起来好像处于状态按下状态,类似于ToggleButton。按下删除按钮后,列表中的每个项目都会在结尾处显示一个复选框。我不打算一直在列表项上显示复选框,因为我不希望它从我显示的数据中获取任何可用空间。在用户检查要删除的项目并且(未)按下删除按钮后,将删除数据。可以选择“你确定吗?”对话框只是为了确认删除。

你对这种方法有什么看法?

我必须说,自从我开始编程android之后我可能会非常错误,而不需要一个Android手机..你。我计划尽快得到一个,看看是否有一个统一的方法来删除每个人正在使用的列表项,我可以实现,所以我不会在我的应用程序中为用户提供不直观的东西。

现在有些技术问题。当我处于删除模式时,为列表项设置不同的leyout会不会更好?或者我应该在代码中添加一个复选框?如果可能的话。目前我正在尝试将我的适配器设置为正常或处于删除模式,并且就此而言返回不同的项目视图(布局)但由于某种原因它不起作用。

感谢您的回复和建议。

PART SOLUTION? 所以我找到了一个解决方法。我仍然在操作栏中有一个“删除”菜单选项,当我点击它时,我将列表设置为删除模式,只是我的代码中的一个标志。但我的适配器现在检查这个标志是否为真,如果我点击列表项我选择它。选择我做的方式是在我的数据中我创建了一个我设置或取消设置的变量。根据此变量,我的适配器设置列表中项目的背景颜色,从而将其标记为删除。

但是现在我还有另外一个问题。我无法在操作栏中强制执行菜单项“删除”以在选择时更改颜色。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为您可以显示默认复选框,因此用户知道使用此复选框可以执行一些多项任务,例如删除和其他任务。另一方面,如果您没有复选框的空间,您可以启动另一个活动,其中列表视图项目带有复选框。

现在,在具有“删除”选项的选项菜单中,打开包含“全部删除”或“删除所选项”选项的上下文菜单。如果用户选择全部删除,则将列表项清除到列表视图中或在选中时选中复选框状态以进行循环检查,检查该项目是否将从列表中删除。

删除后使用此方法youradapter.notifyDataSetInvalidated();更新适配器。

使用listview

检查this文章的复选框