问题描述
- android Viewpager中fragment筛选数据问题
-
目前结构是actionbar中有个筛选按钮,实现类型筛选数据,整个外层是fragment,然后里面是viewpager+fragment组合形式,两个页面切换,要求点击筛选选择数据类型控制当前页的数据筛选?
我尝试过的方式:
在每个fragment中都调用actionbar中的筛选点击事件,进行数据筛选,但是发现只有第二个能筛选,在第一个页面筛选没反应而且这个时候第二个页面数据会筛选,经检查发现一直是在调用第二个页面的方法,分析是不是因为actionbar是在activitybase中,只能调用一次 ?
现在是在外层调用筛选点击事件,传递类型到fragment然后刷新fragment,但是现在思路有点乱,数据该怎么传,在哪里传?传过去怎么刷新?望大神详解.......
解决方案
估计你的事件都绑定到了第二个fragment,还是好好调试代码吧
解决方案二:
android Viewpager中fragment的数据刷新
Android-ViewPager+Fragment数据更新问题
android viewpager中的fragment 延迟加载数据
解决方案三:
fragment 的onRemuse();执行时,做个操作,根据这个动作调用相应的页面,比如在筛选按钮的那个页面定义一个变量,第一个Fragment展示时把变量赋值,当按钮被点击时判断变量值,调用第一个Fragment相应的方法。
解决方案四:
楼上正解,另外已有方法是,直接监听ViewPage的当前页,然后在ViewPage的滑动监听中回调修改外部筛选的变量值,用此判断需要筛选哪一个页面,
数据传递的话,你可以用回调,嫌麻烦的直接用广播,再不行就EventBus
解决方案五:
可以在application里面设置一个静态变量 点击的时候修改这个变量的值.
然后再fragment的onresume()方法中 根据这个变量的值 进行数据筛选
时间: 2024-08-01 09:29:56