Android:如何只使ListView的一个项目可点击?

时间:2012-08-20 13:58:03

标签: android

我正在开发一个简单的待办事项列表应用程序,在主视图中我有一个任务列表,每个任务都有一个复选标记,如下图所示:

enter image description here

单击复选标记后,我希望从列表中删除相应的任务。我尝试将其实现为TextViews(用于任务)和按钮(用于复选标记),但我需要知道所单击的复选标记(0,1,2或3)的数量/位置以从我的删除正确的任务阵列。我可以得到一些如何吗?

我还想过将任务/复选标记实现为ListView,但是我只需要在复选标记上设置onItemClickListener,而不是在任务文本上设置。这可能吗?

还有其他想法吗?感谢。

2 个答案:

答案 0 :(得分:2)

Checkbox有一个标记属性,可用于设置自定义数据,如行号。这样的事情应该有用,

checkbox.setTag(row_number);

所以当你点击它时,做一些像

这样的事情
int rowNum = Integer.parseInt(checkbox.getTag());
removeTaskAt(rowNum);

答案 1 :(得分:0)

如果您正在使用自定义适配器,则可以在检查getView上添加单击侦听器,因此单击仅在复选框上,而不在完整项目上。

唯一的问题是,如果您尝试通过单击复选框滚动,滚动可能无效。