当我从其他屏幕回到ViewPager时,ViewPager完全是空白,可能是什么原因?

时间:2016-05-02 06:42:26

标签: android android-viewpager

这是我的ViewPagerAdapter,我在其中设置了所有三个片段标签 这是我的ViewPagerAdapter,我将设置所有三个片段选项卡 如果有人帮助我 如果有人帮助我 如果有人帮我的话。

public class ViewPagerAdapter extends FragmentStatePagerAdapter {
    String tabTitles[] = new String[] {"BELUM TERKIRIM", "TERKIRIM", "DIBATALKAN"};
    Context context;
    BelumTerkirim belumTerkiri = null;
    Terkirim terkirim = null;
    Dibatalkan dibatalkan = null;

    public ViewPagerAdapter(FragmentManager manager, Context context) {
      super(manager);
      this.context = context;
    }

    @Override
    public int getCount() {
      return tabTitles.length;
    }

    @Override
    public Fragment getItem(int position) {
      switch (position) {
        case 0:
          if(null == belumTerkirim)
            belumTerkirim = new BelumTerkirim();
          return belumTerkirim;
        case 1:
          if(null == terkirim)
            terkirim = new Terkirim();
          return terkirim;
        case 2:
          if(null == dibatalkan)
            dibatalkan = new Dibatalkan();
          return dibatalkan;
      }
      return null;
    }

    @Override
    public CharSequence getPageTitle(int position) {
      return tabTitles[position];
    }

    public View getTabView(int position) {
      View tab = LayoutInflater.from(PesananActivity.this).inflate(R.layout.custom_tab, null);
      TextView textView = (TextView) tab.findViewById(R.id.custom_text);
      textView.setText(tabTitles[position]);
      return tab;
    }
  } 

2 个答案:

答案 0 :(得分:0)

尝试这个

ViewPager viewpager=null;

然后根据你的方法

viewpager =(ViewPager)findviewbyid(R.id.pager);
FragmentManager fragmentmanager=getSupportFragmentManager();
viewpager.setAdapter(new Myadapter(fragmentmanager);

试试这个让我知道

答案 1 :(得分:0)

错误的是当我们从任何其他页面返回时,我没有创建每个片段的新实例,那么我们总是必须创建fragment的实例.Below代码为我工作。

@Override
    public Fragment getItem(int position) {
      switch (position) {
        case 0: 
          return new BelumTerkirim();
        case 1:
          return new Terkirim();
        case 2:
          return new Dibatalkan();
        default:
        break;
      }
      return null;
    }