android 左右滑屏 遇到 listview

今天 要实现一个左右滑屏的功能 且滑屏中要装载 listview 

当单滑屏时冇有问题

当加载listview 后发现 左右滑屏不能 发现需要 修改 触摸事件分派

在当前加载 滑屏 和 listview 的Activity 中 为 左右滑屏控件(我用viewgroup) 添加分派

    public boolean dispatchTouchEvent(MotionEvent ev){  
this.mScrollLayout.onTouchEvent(ev);//在这里先处理下你的手势左右滑动事件
return super.dispatchTouchEvent(ev);
}

其中 mScrollLayout 为 viewgroup

第二当自定义滑屏控件后发现 只能在启动时加载一次数据,其它时候添加数据到界面 无响应

如 

programList.setAdapter(programApapter);

数据不会更新

需要修改滑屏控件中的  onLayout

  protected void onLayout(boolean changed, int l, int t, int r, int b) {
/*if (changed) {*///加了之后第二次不显示
int childLeft = 0;
final int childCount = getChildCount();
for (int i = 0; i < childCount; i++) {
final View childView = getChildAt(i);
if (childView.getVisibility() != View.GONE) {
final int childWidth = childView.getMeasuredWidth();
childView.layout(childLeft, 0, childLeft + childWidth,
childView.getMeasuredHeight());
childLeft += childWidth;
}
}
}
/*}*/
重写OnLayout
不要设置/*if (changed) {*/变量去判断布局是否改变,否则第二次界面刷新的时候不会启用if{}里面的程序



欢迎各位同学加入 android 技术群 155595043

另外个人课外应用 交友应用 欢迎同学们来下载讨论:http://www.nduoa.com/apk/detail/181777



原文地址:https://www.cnblogs.com/ondream/p/2382363.html