【发布时间】:2013-02-26 21:44:12
【问题描述】:
请帮忙,这个(可能很简单)问题让我发疯了。
我有一个包含文本视图和复选框的自定义列表视图。 当复选框被选中时,我想对 listview 元素进行操作。我正在尝试使用下面的代码,但问题是我不知道如何检测单击了哪个特定复选框。
checkBox = (CheckBox) findViewById(R.id.textCheckbox);
checkBox.setOnCheckedChangeListener(this);
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked)
make some action
else
make another action
}
我也尝试让复选框对 OnItemLongClickListener 做出反应:
OnItemLongClickListener LongListener = new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> a, View v, int position, long id) {
CheckBox checkBox = (CheckBox) v.findViewById(R.id.textCheckbox);
listView = (ListView) a;
checkBox.setChecked(true);
return true;
}
};
这样我可以在长按列表视图项时检查正确的复选框,但只要我向下滚动列表,复选框就会从它的位置移动。
请指教!
【问题讨论】:
-
您在行中使用什么布局,是否实现了 Checkable?
-
我同意你@Sam
-
@Sam 我使用包含复选框和文本视图的自定义布局。