ListView的焦点问题
2016-05-28 13:41
288 查看
1 ListView中的Item内有button或chckable等,这时item焦点就会被抢去,解决方案:
在Item文件中,根目录设置:
android:descendantFocusability="blocksDescendants"
在item文件中,button按钮中设置:
android:focusable="false"
2 ListView与scroolView的滑动问题:解决方案:
自定义listView如MylistView去继承listview
在MylistView类中,添加如下方法:
public boolean onInterceptTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
setParentScrollAble(false);// 当手指触到listview的时候,让父ScrollView交出ontouch权限,也就是让父scrollview
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
setParentScrollAble(true);// 当手指松开时,让父ScrollView重新拿到onTouch权限
break;
default:
break;
}
return super.onInterceptTouchEvent(ev);
}
private void setParentScrollAble(boolean flag) {
view.requestDisallowInterceptTouchEvent(!flag);// 这里的parentScrollView就是listview外面的那个scrollview
}
public void setView(ScrollView view) {
this.view = view;
}
在Item文件中,根目录设置:
android:descendantFocusability="blocksDescendants"
在item文件中,button按钮中设置:
android:focusable="false"
2 ListView与scroolView的滑动问题:解决方案:
自定义listView如MylistView去继承listview
在MylistView类中,添加如下方法:
public boolean onInterceptTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
setParentScrollAble(false);// 当手指触到listview的时候,让父ScrollView交出ontouch权限,也就是让父scrollview
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
setParentScrollAble(true);// 当手指松开时,让父ScrollView重新拿到onTouch权限
break;
default:
break;
}
return super.onInterceptTouchEvent(ev);
}
private void setParentScrollAble(boolean flag) {
view.requestDisallowInterceptTouchEvent(!flag);// 这里的parentScrollView就是listview外面的那个scrollview
}
public void setView(ScrollView view) {
this.view = view;
}
相关文章推荐
- 用hector mapping构建地图rplidar
- 无线路灯项目——STM32L低功耗相关
- 无线路灯项目——STM32L151概述
- 用CSS画个三角形
- mysql表名忽略大小写配置
- 高度 && 角度 && 尺度
- Lowest Common Ancestor of a Binary Tree
- 无线路灯项目——SX1278调试
- OS X EI Capitan 10.11.4中sudo无法起作用的解决方法
- STM32 JTAG失效恢复
- ios常用技术 - UIDatePicker时间选择器基础
- 树莓派入门之装系统
- android studio 使用mates真机进行调试,在logcat中无法打印出代码中有Log.d输出的log
- 素数的判断和哥德巴赫猜想的简证
- 安装Dubbo注册中心(Zookeeper-3.4.6)
- JDK1.8新特性
- 安装Python交互式数据处理工具——IPython
- ubuntu 16.04 LAMP环境手动配置以及问题解析
- 枚举类
- STM32的UART DMA传输总结