[英]Checkbox in listview
我想在listview的click-event中设置一个复选框。 如何设置正确的复选框?
这是我的代码:
listView.setOnItemLongClickListener(new OnItemLongClickListener()
{
@Override
public boolean onItemLongClick(AdapterView<?> adapter, View view,
int position, long id)
{
Checkbox checkbox = ??
checkbox.setChecked(true);
return true;
}
});
首先,Activity中的JavaCode:
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView parentView, View childView, int position, long id)
{
CheckBox cb = (CheckBox) childView.findViewById(R.id.file_checkbox);
cb.setChecked(true);
}
}
其次,不要忘记布局xml中的CheckBox有一件事,将android:focusable =“false”设置为xml中的复选框,否则listview无法获得点击事件。
第三,也是最重要的,因为当listview滚动时,适配器中的getView()将被调用为unccepted,复选框将被调动为不可接受,因此在getView()中设置复选框状态非常重要,这是我在getView()中的示例:
if(mFiles[position].isSeleted){
checkbox.setChecked(true);
} else {
checkbox.setChecked(false);
}
您需要一个自定义的适配器基础列表视图,您可以从:: 这里获得
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.