Android 我有一个带有复选框的Listview,单击复选框区域时布局的onClick事件不起作用

Android 我有一个带有复选框的Listview,单击复选框区域时布局的onClick事件不起作用,android,listview,onclicklistener,Android,Listview,Onclicklistener,我有一个带有文本框和复选框的列表视图 我已经使用视图持有者实现了列表视图,并选中了复选框 holder.getCheckbox().setEnabled(false); 并创建了复选框XML布局 <com.mobello.shift.widget.CustomTextView android:id="@+id/list_title" android:layout_width="0dp" android:layout_height="40dp" and

我有一个带有
文本框和
复选框的
列表视图

我已经使用视图持有者实现了列表视图,并选中了复选框

  holder.getCheckbox().setEnabled(false);
并创建了复选框XML布局

 <com.mobello.shift.widget.CustomTextView
    android:id="@+id/list_title"
    android:layout_width="0dp"
    android:layout_height="40dp"
    android:layout_gravity="center_vertical"
    android:layout_weight="1"
    android:gravity="center_vertical"
    android:paddingEnd="3dip"
    android:paddingLeft="5dip"
    android:paddingRight="5dip"
    android:textColor="@color/black"
    android:textSize="@dimen/dimen_text_size_14"
    android:textStyle="normal"
    app:typeface="@string/light" />

<CheckBox
    android:id="@+id/chkbox_value"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:layout_gravity="center"
    android:layout_marginEnd="15dp"
    android:layout_marginRight="15dp"
    android:button="@drawable/blue_check_box_bg"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:gravity="center" />

我不确定我是否理解你的意思,但我会尝试:

1)您需要在
holder
convertView
上设置
onClickListener()


2)然后检查
复选框的当前状态。
如果已选中,则将其设置为未选中,否则将其设置为选中

我不确定我是否理解您的意思,但我会尝试:

1)您需要在
holder
convertView
上设置
onClickListener()


2)然后检查
复选框的当前状态。
如果已选中,则将其设置为未选中,否则将其设置为选中

我们需要更多的代码!向我们展示onClick事件所在的代码以及如何创建项目listviewlayout@Muddz我更新了我的代码我们需要更多的代码!向我们展示onClick事件所在的代码以及如何创建项目listviewlayout@Muddz我更新了我的代码
     public View getView(final int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        try {
            if (convertView == null) {
                inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                convertView = inflater.inflate(R.layout.selection_row_view, null);
                holder = new ViewHolder(convertView);
                convertView.setTag(holder);
            } else {
                holder = (ViewHolder) convertView.getTag();
            }
            holder.getListTitle().setText(list.get(position).getTitle());
            holder.getCheckbox().setChecked(list.get(position).isCheckBok());
            holder.getCheckbox().setEnabled(false);
            if(flagPosition == Constant.FLAG_FILTER_INDUSTRY){
                holder.getListTitle().setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
//                        int pos = view.getId();
                        if (list.get(position).isCheckBok()) {
                            list.get(position).setCheckBok(false);
                            if (SelectionActivity.selectedNameList.size() > 0) {
                                SelectionActivity.selectedNameList.remove(list.get(position).getTitle());
                                SelectionActivity.selectedIdList.remove(list.get(position).getId());
                            }
                        } else {
                            list.get(position).setCheckBok(true);
                            SelectionActivity.selectedNameList.add(list.get(position).getTitle());
                            SelectionActivity.selectedIdList.add(list.get(position).getId());
                        }

                        notifyDataSetChanged();
                    }
                });
            }

        } catch (Exception e) {
            Helper.setErrorLog(context,e);
        }
        return convertView;
    }