ViewPager与Fragment刷新数据

唉,每次都忘记怎么写,还是老老实实记一下吧!

public class MDTabViewPagerAdapter extends FragmentStatePagerAdapter {

    private static final String TAG = MDTabViewPagerAdapter.class.getSimpleName();
    private List list;
    private FragmentManager fm;

    public MDTabViewPagerAdapter(FragmentManager fm, List list) {
        super(fm);
        this.fm = fm;
        this.list = list;
    }

    @Override
    public Fragment getItem(int position) {
        Fragment fragment =  (Fragment)list.get(position);
        return fragment;
    }

    @Override
    public int getCount() {
        return list == null ? 0 : list.size();
    }

    public void setFragments(ArrayList<Fragment> fragments) {
        if ((list == null) && (fm == null) || (fragments == null)) {
            LogUtil.w(TAG, "setFragments is fail. params is null");
            return;
        }
        FragmentTransaction ft = fm.beginTransaction();
        for (int i = 0; i < list.size(); i++) {
            Fragment fragment = (Fragment) list.get(i);
            ft.remove(fragment);
        }
        ft.commit();
        ft = null;
        fm.executePendingTransactions();

        this.list.addAll(fragments);
        notifyDataSetChanged();
    }
    /*
        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            Fragment fragment = (Fragment) super.instantiateItem(container, position);
            return fragment;
        }

        @Override
        public int getItemPosition(Object object) {
            return POSITION_NONE;
        }
    */

}
时间: 2024-10-06 08:00:06

ViewPager与Fragment刷新数据的相关文章

ViewPager+TabLayout+Fragment刷新Fragment中的数据

1.ViewPager与TabLayout的初始化: private void initData() { mTabFragmentAdapter = new TabFragmentFirstAdapter(getSupportFragmentManager(), mDeptType); mVp.setAdapter(mTabFragmentAdapter); mVp.addOnPageChangeListener( new TabLayout.TabLayoutOnPageChangeListe

解决ViewPager缓存导致不能实时刷新数据

ViewPager+Fragment,但是Fragment有个不好或者太好的地方.例如你在ViewPager中添加了三个Fragment,当加载ViewPager中第一个Fragment时,它会默认帮你预先加载了第二个Fragment,当你加载第二个Fragment时,它会帮你加载第三个Fragment. 这样用户使用的体验是不错的,但是这样可能导致每次滑动切换页面时,显示的数据都不是最新的数据.而是ViewPager预加载从内存中读取的数据. 我们怎么去解决这种问题.及时的去刷新数据. 在fr

ViewPager之Fragment页面切换

一.概述 ViewPager是android-support-v4中提供的类,它是一个容器类,常用于页面之间的切换. 继上篇文章<ViewPager之引导页>之后,本文主要介绍ViewPager更为通用的实践:ViewPager搭配Fragment实现页面切换. 这种实现方式相对于上篇文章而言,可以更好的支持不同页面各自的复杂逻辑,与此同时,也能够保障页面之间的耦合度尽可能的低. 按照惯例,先晒出效果图:        二.实现思路 首先分析一下不同区域的交互需求: 中间灰色区域除了要支持三套

viewpager中fragment的生命周期管理

viewpager中fragment的生命周期管理 - i_bobby - 开源中国社区 调试fragment的时候发现一个莫名其妙的事情,viewpager中包含4个fragment,其中第一个和第三个fragment是要联网取得数据的,如图: 界面刚进去的时候显示第一个fragment,通过log信息,我发现two fragment竟然"偷偷"走了一遍的生命周期!着实把我震惊了! 然后我滑动到two,发现第三个也"偷"了一遍生命周期,也就是说,手机在显示第二个不

关于TabLayout与ViewPager在Fragment中嵌套Fragment使用或配合使用的思考

注意: 因为继承的是Fragment,所以getSupportFragmentManager()与getFragmentManager()方法无法使用,这里需要用到getChildFragmentManager()方法: (用getFragmentManager()方法并不会报错,但到时候运行的时候会出问题,查了好久才知道这个错误) 统一Fragment类型,要么为"android.support.v4.app.Fragment",要么为"android.app.Fragme

如何使用viewpager与fragment写一个app导航activity

今天我们来看一下如何使用viewpager和fragment组合来写一个app导航activity,这里使用到了android开源控件viewpagerindicator,有兴趣的同学可以去它网站上看看它的介绍. 附上效果截图一张: demo中只有一个activity,是用activity_main.xml来布局,其内容如下: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:and

android开发之viewpager and Fragment

Android ViewPager和Fragment实现顶部导航界面滑动效果 Layout 管理器允许用户可以在页面上,左右滑动来翻动页面.你可以考虑实现PagerAdapter接口来显示 该效果.ViewPager很多时候会结合Fragment一块使用,这种方法使得管理每个页面的生命周期变得很方便. 些adapter的具体实现,可以适合于这种ViewPager结合Fragment使用的情况.这些adapter包括: 其中,有一FragmentPagerAdapter,和 FragmentSta

刷新数据

刷新数据的方法 重新载入屏幕上所有数据的方法[self.tableView reloadData]; 以某种方式插入到特定的某一行[self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:@0 inSection:@1]] withRowAnimation:UITableViewRowAnimationLeft]; 以某种方法删除某一行数据[self.tableView deleteRowsAtIndexPaths

Android ViewPager和Fragment实现顶部导航界面滑动效果

在项目中,我们常常需要实现界面滑动切换的效果.例如,微信界面的左右滑动切换效果.那这种效果是怎么实现的?今天我就带大家简单了解ViewPager,并通过实例来实现该效果. 一. ViewPager 官方API 首先我们来看一下ViewPager官方给出的解释,如图: 具体意思如下: Layout 管理器允许用户可以在页面上,左右滑动来翻动页面.你可以考虑实现PagerAdapter接口来显示该效果. ViewPager很多时候会结合Fragment一块使用,这种方法使得管理每个页面的生命周期变得