1、
item 内如果有button等控件时,在监听listview的onitemclick事件时,焦点会被item内的button、imagebutton等控 件抢走,从而导致在listview设置了onitemclick事件后不会被触发。解决方法是在初始化item的时候屏蔽掉其内部button等控件的 焦点获取,具体方法可以在自定义item的根控件中调用:
setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
这样就能阻塞子控件抢夺焦点,listview的onitemclick就能被正确触发,同时对item内部的button等控件也没有影响,他们在被点击时照样可以触发自身的点击事件。
2、当 listview需要添加headerview时,可以通过调 用listview的addHeaderView(headView, null, false) 方法,该方法还有一个重载方法 addHeaderView(headView);这两个方法的区别是前一个方法可以控制header是否可以被selected,如果不想被 selected则将第三个参数设置成false;
3、接 着上面说的添加header,添加header时调用的 addHeaderView方法必须放在listview.setadapter前面,意思很明确就是如果想给listview添加头部则必须在给其绑定 adapter前添加,否则会报错。原因是当我们在调用s