OnItemClickListener не работает с элементом ListView, содержащим кнопку

У меня есть ListView с пользовательским адаптером , который предоставляет ] Просмотрите в ListView следующим образом:

   public View getView(int position, View convertView, ViewGroup parent)
   {
        RelativeLayout.LayoutParams lineParams;
        RelativeLayout line=new RelativeLayout(context);

        TextView tv=new TextView(context);
        tv.setText("Text in postion="+i);
        lineParams=new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        lineParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
        line.addView(tv, lineParams);
        lineParams.addRule(RelativeLayout.CENTER_IN_PARENT);

        //checkbox
        CheckBox checkBox=new CheckBox(context);
        lineParams=new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        lineParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
        lineParams.addRule(RelativeLayout.CENTER_IN_PARENT);
        line.addView(checkBox, lineParams);
        return line;
    }

И где-то внутри ListView есть setOnItemClickListener () , который должен перехватывать события щелчка по элементам. Моя проблема в том, что всякий раз, когда я пытаюсь добавить флажок к элементу, я не получаю никаких ответов от моего ListView . Если я пропущу CheckBox или любую другую кнопку , это сработает.

Я действительно застрял с этой проблемой, я перепробовал все виды макетов, выравнивание, перенос и т. Д. - бесполезно. Похоже, что CheckBox вмешивается в события щелчка по элементам ListView .

Есть идеи, как побороть?

31
задан Barmaley supports Monica 7 December 2011 в 10:15
поделиться