哎,说说在Android开发中遇到的坑,
今天遇到了一个viewpager切换数据的问题,一直以为只要把数据更新,然后在更新适配器就可以了,结果今天试了好多次,都没成功,一开始还以为是自己写错了,反复看了看,没错啊。结果百度了一下,找了好久才找到,我把他的地址贴出来:https://www.jianshu.com/p/79018b848b92,看了才明白,哎,不说了,给你们看看效果图:
我这设备有限,不能录屏,只能发照片了:
首页是可以左右滑动的,只能滑动三页,后面的写了点击事件,这是我viewpager的适配代码:fragmentlists = new ArrayList<>();
fragmentlists.add(new Fragment_1());
fragmentlists.add(new Fragment_2());
fragmentlists.add(new Fragment_3());
adapter = new FragmentViewpagerAdapter(manager, fragmentlists);
mMainView.setAdapter(adapter);
mMainView.setCurrentItem(1);
这是我切换界面时的代码:
mMainHead.setVisibility(View.GONE);
fragments = new ArrayList<>();
fragments.add(new Fragment_4());
adapter = new FragmentViewpagerAdapter(manager, fragments);
mMainView.setAdapter(adapter);
adapter.notifyDataSetChanged();
适配器的代码没什么变化,就和FragmenPagerAdapter是一样的:
public class FragmentViewpagerAdapter extends FragmentStatePagerAdapter {
private Listfragments;
public FragmentViewpagerAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
public void setFragments(List<Fragment> fragments) {
this.fragments = fragments;
}
public FragmentViewpagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
}