fragment 筛选-android Viewpager中fragment筛选数据问题

问题描述

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

fragment 筛选-android Viewpager中fragment筛选数据问题的相关文章

Android 开发中fragment预加载问题

我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在这个activity刚创建的时候就变成需要初始化大量资源.这样的结果,我们当然不会满意.那么,能不能做到当切换到这个fragment的时候,它才去初始化呢? 答案就在Fragment里的setUserVisibleHint这个方法里.请看关于Fragment里这个方法的API文档(国内镜像地址:ht

android viewpager切换fragment显示问题

问题描述 android viewpager切换fragment显示问题 项目中viewpager的第二个fragment添加有动画效果,可是viewpager采用预加载的机制,导致如果在第一个fragment等了5s(比如已在第二个fragment设定动画效果持续时间为5s),再切换到第二个fragment时候会没有动画效果,该怎么办? 解决方案 你可以重写第二个fragment的 @Override public void setUserVisibleHint(boolean isVisib

Android viewpager中动态添加view并实现伪无限循环的方法_Android

本文实例讲述了Android viewpager中动态添加view并实现伪无限循环的方法.分享给大家供大家参考,具体如下: viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里有一个需求,就是viewpager里面加载的页数不是确定的,而是根据数据的多少来确定的.常见的应用就是在一个新闻的详细页面中,显示与此新闻有关的图片. 下面我们来看一下代码: activity_main.xml <RelativeLayout xmlns:android="http://sch

Android viewpager中动态添加view并实现伪无限循环的方法

本文实例讲述了Android viewpager中动态添加view并实现伪无限循环的方法.分享给大家供大家参考,具体如下: viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里有一个需求,就是viewpager里面加载的页数不是确定的,而是根据数据的多少来确定的.常见的应用就是在一个新闻的详细页面中,显示与此新闻有关的图片. 下面我们来看一下代码: activity_main.xml <RelativeLayout xmlns:android="http://sch

谢谢-如何刷新android widget中listview的数据

问题描述 如何刷新android widget中listview的数据 如何刷新android widget中listview的数据,就是初始化的时候加载了数据,后来我收到一个广播,需要更新 里面的数据,怎么办? 解决方案 重新调用listview 的setAdapter()方法或者调用adapter的notifyDataSetChange()方法.最主要的是真正的把listview数据源改变,通常是集合或者数组.

Android开发中Fragment完全解析【详细】

本篇为大家说明Fragment如何产生,什么是Fragment,Fragment生命周期,如何静态和动态的使用Fragment,Fragment回退栈,Fragment事务:以及Fragment的一些特殊用途,例如:没有布局的Fragment有何用处?Fragment如何与Activity交互?Fragment如何创建对话框?Fragment如何与ActionBar集成等等. 1.Fragment的产生与介绍 Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺

实例探究Android开发中Fragment状态的保存与恢复方法_Android

我们都知道,类似 Activity, Fragment 有 onSaveInstanceState() 回调用来保存状态. 在Fragment里面,利用onSaveInstanceState保存数据,并可在onActivityCreated里面恢复数据. public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); ... if (savedInsta

Android开发中Fragment的使用及FragmentManager findFragmentById返回nul

Android Fragment的使用 1.使用支持库 如果您的应用需要运行在3.0及以上的版本,可以忽略这部分内容. 如果您的应用使用在3.0以下.1.6及以上的版本,需要使用支持库来构建. 使用支持库的步骤: 1.使用SDK下的SDK Manager工具下载Android Support Package 开发中Fragment的使用及FragmentManager findFragmentById返回nul-findfragmentbyid用法">2. 在您的Android工程的顶级目

实例探究Android开发中Fragment状态的保存与恢复方法

我们都知道,类似 Activity, Fragment 有 onSaveInstanceState() 回调用来保存状态. 在Fragment里面,利用onSaveInstanceState保存数据,并可在onActivityCreated里面恢复数据. public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); ... if (savedInsta