今天 要实现一个左右滑屏的功能 且滑屏中要装载 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