private class ListAdapter extends BaseAdapter {
  LayoutInflater inflater;
  ViewHolder viewHolder;

  public ListAdapter(Context context) {
   inflater = LayoutInflater.from(context);

  }

  public int getCount() {
   // TODO Auto-generated method stub
   return _categoryList.size();
  }

  public Object getItem(int position) {
   // TODO Auto-generated method stub
   return position;
  }

  public long getItemId(int position) {
   // TODO Auto-generated method stubvalues[i].split("||")[1]
   return position;
  }

  public View getView(final int position, View convertView,
    ViewGroup parent) {

   convertView = inflater.inflate(R.layout.filter_row, null);

   viewHolder = new ViewHolder();
   viewHolder.category_list_id = (RelativeLayout) convertView
     .findViewById(R.id.filter_list_id);

   viewHolder.att_name = (TextView) convertView
     .findViewById(R.id.filter_name);

   viewHolder.txtspnames = (TextView) convertView
     .findViewById(R.id.spinner_filter);

   viewHolder.lv = (LinearLayout) convertView
     .findViewById(R.id.filter_list_id_ch);      
   viewHolder.lv.setVisibility(View.GONE);                 <<<<<<<<<<<<<<<---------- LinearLayout which display checkboxes
   // convertView.setTag(viewHolder);
   // } else {
   // viewHolder = (ViewHolder) convertView.getTag();
   // }
   viewHolder.category_list_id
     .setBackgroundResource(R.drawable.listrowconfirm21
       + Integer.parseInt(_ID));

   if (_categoryList.get(position).attrib_name.equals("Brands")) {          <<<<<<<<<--------- i want to handle click event for this perticular listitem

   
    viewHolder.att_name
      .setText(_categoryList.get(position).attrib_name);

    viewHolder.lv.setBackgroundResource(R.drawable.listrowconfirm21
      + Integer.parseInt(_ID));
    final String values[];

    values = _categoryList.get(position).values.split("^");
    // String[] data = new String[values.length];

    
    for (int i = 0; i < values.length; i++) {

     final FilterItem current_row = _categoryList.get(position);

     final CheckBox ch = new CheckBox(getApplicationContext());

     ch.setText(values[i].split("||")[1]);

     ch.setTextSize(18);

     ch.setGravity(Gravity.LEFT);
     // ch.setMaxWidth(25);
     ch.setLayoutParams(new LinearLayout.LayoutParams(120,
       LayoutParams.WRAP_CONTENT));

     ch.setChecked(_categoryList.get(position).charray[i]);

     final int ch_i = i;

     ch.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
       // TODO Auto-generated method stub

       if (ch.isChecked()) {

        _categoryList.get(position).charray[ch_i] = true;
        _categoryList.get(position).ch = true;

        _categoryList.get(position).checkbox_id
          .add(values[ch_i].split("||")[0]);

       } else {

        _categoryList.get(position).charray[ch_i] = false;
        _categoryList.get(position).ch = false;
        _categoryList.get(position).checkbox_id
          .remove(_categoryList.get(position).checkbox_id
            .indexOf(values[ch_i]
              .split("||")[0]));

       }

      }

     });
     if (ch.getText().toString().equals(current_row.checked)) {
      ch.setChecked(true);
     }

     viewHolder.lv.addView(ch);
    }

   } else {
    viewHolder.att_name
      .setText(_categoryList.get(position).attrib_name);

    viewHolder.txtspnames
      .setText(_categoryList.get(position).selected);

    
      

    
    convertView.setTag(position + "");
   }

   return convertView;
  }
 }

Add a code snippet to your website: www.paste.org