OnItemClickListener在包含按钮的ListView项目中无法工作

8 浏览
0 Comments

OnItemClickListener在包含按钮的ListView项目中无法工作

我有一个带有自定义适配器的ListView,适配器以以下方式为ListView提供View:

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或任何其他Button,它就会起作用。

我真的陷入了这个问题,我尝试了各种布局、对齐、包裹等等 - 都没有用。看起来CheckBox干扰了ListView项目的点击事件。

有什么办法可以克服这个问题吗?

0