У меня есть 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
.
Есть идеи, как побороть?