努力让我的列表视图正常工作

时间:2014-06-18 03:19:50

标签: java android listview

在我开始之前。我为没有上传任何代码而道歉。但我知道我已经理解了我的问题。我只是不知道如何分类。

我遇到的问题是我有一个列表视图,它由许多行填充。每行都有一个联系人姓名,用户共有多少联系人。联系人显示图片和动作按钮。

当用户点击操作按钮时。它们通过弹出框升级。再显示四个选项;取消联系,阻止,消息和取消。

当用户点击unfriend或block按钮时。然后从列表视图中删除与该按钮关联的行。听起来很简单吧?

列表视图还有一个搜索过滤器,供用户使用。可以通过联系人姓名进行搜索。在用户插入值的同时,列表视图会连续刷新,显示包含插入搜索功能的值的联系人。同样的规则适用,用户可以删除,阻止......等等。

我遇到的问题是,当用户首先通过搜索他们的联系人姓名来尝试与用户取消联系时。它试图删除位置0处的联系人。现在我们知道,这个搜索过的联系人实际上可能位于数组列表中的第7位。因此,导致问题。它删除了错误的用户。现在,如果用户没有使用搜索功能。它实际上工作,从列表中删除正确的位置。而且乔很高兴。

在读取包含输入的搜索值的联系人之前,我先清除ArrayList。

对不起,我无法上传代码,但此时我的Mac无法使用,因此我无法访问我的项目SC。

有人能给我一些关于我可能出错的地方吗?

谢谢,彼得。

1 个答案:

答案 0 :(得分:1)

如果您有适配器

,首先在getView方法中设置标记
textView.setTag(position) // set the tag (assuming you have textView in row, or you can set the tag for any other control)

然后移除

 int position = (Integer)v.getTag();  // get the tag that you had set before.
 your_arraylist.remove(position);  // remove
 // your remaining code
 notifyDataSetChanged();

希望这会给你一些想法。快乐的编码。