首先自定定议的item.xml里把LinearLayout设置android:descendantFocusability="blocksDescendants"
ImageButton也设了这两个android:clickable="true"   android:focusable="false"
然后我在activity里写了ListView.setOnItemClickListener(new AdapterView.OnItemClickListener() 
好,这个点击没问题了,不过要是你点中那个ImageButton的话就无效,点击不了;
所以我在getView()也写上
imageButton.setOnClickListener(new OnClickListener)这个,不过很怪的事
首先,点击imagebutton还是无效,我把listview往下拉,在第一屏看不到的显示出来时再点imageButton就有效,
再拉回第一行,又能点,然后中间那些就无效,不过好像他有保存在缓存中,你这时点imagebutton外面的就是ListView.setOnItemClickListener这个事件产生,会同时把刚才点击无效的一次性全部释放出来,很怪,连讲也讲的不清楚,求高手看看listview里有imagebutton的时候既产生imagebutton事件也可产生ItemClick,要怎么做。

解决方案 »

  1.   

    点击事件中 设return false
      

  2.   

    不行呀,这样设就出错了
    public void onClick(View v) {
    System.out.println(position);
    }
    如果有return就要设boolean,我这里是void的呀
      

  3.   

    android:descendantFocusability="blocksDescendants"
    ImageButton 的 android:clickable="true" android:focusable="false"
    以上都可以去掉在自定义adapter中设置
        button.setFocusable(false);
      

  4.   

    http://blog.csdn.net/kechanghe0705/article/details/6638200