繁体   English   中英

列表视图中的复选框

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM