log如下:
06-22 23:45:50.110: E/ActivityThread(6217): Don't dump hprof file because it is not in monkey test! false, false 06-22 23:45:50.120: E/AndroidRuntime(6217): FATAL EXCEPTION: main 06-22 23:45:50.120: E/AndroidRuntime(6217): java.lang.IllegalArgumentException: The observer is null. 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.database.Observable.unregisterObserver(Observable.java:59) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.widget.BaseAdapter.unregisterDataSetObserver(BaseAdapter.java:42) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.widget.AbsListView.onDetachedFromWindow(AbsListView.java:2373) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.view.View.dispatchDetachedFromWindow(View.java:9818) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2283) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2281) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2281) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2281) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.view.ViewGroup.removeViewInternal(ViewGroup.java:3601) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.view.ViewGroup.removeViewInternal(ViewGroup.java:3581) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.view.ViewGroup.removeView(ViewGroup.java:3529) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.support.v4.view.ViewPager.removeView(ViewPager.java:1321) 06-22 23:45:50.120: E/AndroidRuntime(6217): at com.jeejen.largecalendar.ui.YiJiAct$YiJiPagerAdapter.destroyItem(YiJiAct.java:176) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.support.v4.view.ViewPager.populate(ViewPager.java:1036) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.support.v4.view.ViewPager.populate(ViewPager.java:914) 06-22 23:45:50.120: E/AndroidRuntime(6217): at android.support.v4.view.ViewPager$3.run(ViewPager.java:244)
Android viewpager里面嵌套使用listview或者ExpandableList时,在移出子view时报IllegalArgumentExcept;
这个是因为4.0系统对viewpage的兼容问题导致的,因为viewpager在移除listview或者expandableList时会调用一次listview(expandableList)的unregisterDataSetObserver方法,而listview(expandableList)本身也会调用这个方法,解决方法就是复写adapter的unregisterDataSetObserver方法,判断一下如果observer是null就不执行了:
@Override public void unregisterDataSetObserver(DataSetObserver observer) { if(observer != null) super.unregisterDataSetObserver(observer); }
相关推荐
Android listview viewpager 滑动 跳动 冲突解决 ListView中嵌套ViewPage有或者滑动手势冲突解决 blog 地址 : http://blog.csdn.net/aaawqqq/article/details/43824631
在Android开发中,有时我们需要在一个页面中展示多个视图或者数据列表,这时就可能需要用到ViewPager来实现滑动切换效果,并且在每个页面中嵌套一个ListView来展示详细的数据。本项目"Android应用源码之ViewPager中...
当需要在一个列表项中包含多个可滑动的子页面时,就会涉及到ListView嵌套ViewPager的场景。本文将详细讲解如何实现这种布局,并处理好触摸事件的冲突问题。 首先,我们要理解ListView的工作原理。ListView通过复用...
在Android开发中,`TabLayout`、`ViewPager`和`ListView`是常见的组件,用于构建具有多页面和分层数据的用户界面。本篇文章将详细探讨如何将它们联动起来,以实现一个高效的导航和数据展示功能。 首先,`TabLayout`...
`Android高级应用源码-ViewPager中嵌套ListView实现了下拉刷新和上拉更多,解决了冲突的问题。.zip`这个压缩包提供的就是一个解决此类问题的示例代码。 首先,我们来看`ViewPager`。`ViewPager`是Android SDK中的一...
然而,当我们在`ViewPager`内部嵌套一个`ListView`时,会遇到一些挑战,比如下拉刷新和上拉更多的功能与`ViewPager`滑动冲突。这个压缩包中的源码示例正是为了解决这个问题。 首先,我们来看`ViewPager`。`...
标题"viewpage嵌套listview,效果:滑动listview删除,滑动非listview区域viewpage翻页"描述的就是这样一个功能:在ViewPager中嵌套了一个ListView,ListView支持滑动删除,而当滑动到ListView之外的区域时,...
在Android开发中,有时我们需要在ViewPager中嵌套ListView来实现更复杂的用户界面,例如滑动切换页面时每个页面内还能滚动浏览更多的内容。这个场景在实际应用中非常常见,如新闻阅读、电商商品详情页等。然而,这种...
2. 使用`android:descendantFocusability`属性:设置`ListView`的这个属性为`beforeDescendants`或`blocksDescendants`,防止`ListView`在`ViewPager`滑动时抢夺焦点。 3. 配合`NestedScrollView`或`...
本示例中,"ViewPager中嵌套ListView实现了下拉刷新和上拉更多,解决了冲突的问题"就是针对这一需求的解决方案。 1. **ViewPager与ListView嵌套**: - `ViewPager`通常用于展示多个相似但不完全相同的页面,每个...
本实例“Android 仿微信 fragment+viewpager+listview”就是一个很好的学习素材,它结合了Fragment、ViewPager和ListView这三种核心组件,帮助初学者理解如何构建一个类似微信的多页面、滑动切换和动态数据展示的...
在Android开发中,有时我们需要在一个页面中展示多个视图或者数据列表,这时就可能需要用到ViewPager与ListView的嵌套。此项目“安卓Andriod源码——ViewPager中嵌套ListView实现了下拉刷新和上拉更多,解决了冲突的...
1. 使用第三方库,如SwipeRefreshLayout:这是一个Android官方提供的下拉刷新组件,它可以包裹一个子View,当用户在顶部滑动时,会触发下拉刷新。在ViewPager中,我们需要确保SwipeRefreshLayout只对ListView生效,...
1. **NestedScrollView**:如果`ListView`和`ViewPager`都在一个大的滚动容器内,可能会考虑使用`NestedScrollView`,它支持嵌套滚动,能更好地兼容Android的Material Design规范。 2. **Fragment**:`ViewPager`...
例如,可以使用`OnTouchListener`监听滑动事件,当`ListView`在滑动时阻止`ViewPager`的滑动,反之亦然。 ```java listView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch...
在Android应用开发中,我们经常会遇到在ViewPager中嵌套ListView的需求,这通常是为了实现滑动切换页面并展示丰富的内容。然而,这样的组合往往会带来一些问题,比如下拉刷新和上拉加载更多的功能与ViewPager的滑动...
在Android开发中,ListView和ViewPager是两种非常常用的组件。ListView用于展示大量的列表数据,而ViewPager则用于实现页面的滑动切换。将ListView嵌入ViewPager可以创建出复杂的布局,提供更丰富的用户体验。本教程...
9. **数据加载优化**:考虑到性能和内存消耗,可能需要使用懒加载技术,只在需要时加载ListView或ViewPager中的数据。 10. **响应式布局**:由于屏幕尺寸的多样性,一个优秀的详情页应该支持响应式布局,根据设备的...
在这种场景下,"Android三层滑动控件显示冲突和ViewPager高度动态调整的解决方案Demo"是一个非常实用的示例,它解决了ListView、ViewPager以及Fragment三层嵌套时可能出现的滑动冲突问题,并且能够动态调整ViewPager...