tablayout+viewPager+fragment动态刷新问题的处理

这里一共碰到两个问题
一个是adapter.notifyDataSetChanged()刷新没有效果。
看了这篇文章解决的https://www.jianshu.com/p/266861496508
核心就是

/**
     * fragment适配器
     */
    private class MyPagerAdapter extends FragmentStatePagerAdapter {

        private final FragmentManager mFragmentManager;

        public MyPagerAdapter(FragmentManager fm) {
            super(fm);
            this.mFragmentManager = fm;
        }

        @Override
        public Fragment getItem(int position) {
            return fragments.get(position);
        }

        @Override
        public int getItemPosition(Object object) {//最主要就是加了这个方法。
            return POSITION_NONE;
        }

        @Override
        public int getCount() {
            return fragments.size();
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return tabTitle.get(position);
        }

    }

另一个问题就是反复滑动viewpager Fragment里面的recycleView容易崩溃。处理方式是给recycleView自定义一个LinearLayoutManager

public class WrapContentLinearLayoutManager extends LinearLayoutManager {
    public WrapContentLinearLayoutManager(Context context) {
        super(context);
    }

    @Override
    public void onLayoutChildren(RecyclerView.Recycler recycler, RecyclerView.State state) {
        try {
            super.onLayoutChildren(recycler, state);
        } catch (IndexOutOfBoundsException e) {
            Log.e("probe", "meet a IOOBE in RecyclerView");
        }
    }
}

你可能感兴趣的:(tablayout+viewPager+fragment动态刷新问题的处理)