2016-09-22 3 views
0
안드로이드

의 모든 시간을보기 호출기 조각 인스턴스를 저장하는 방법을 새로운 창조. 는 매번는 특정에 대한 세부 정보를 가져 오기 위해 서버를 호출하고내가 다른 탭으로 이동하면,

private void setTabTitle() { 
    Final TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); 
    tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); 

mviewPager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager())); 
viewPager.setOffscreenPageLimit(jSonTab.size()); 
    tabLayout.post(new Runnable() { 
     @Override 
     public void run() { 
      tabLayout.setupWithViewPager(mviewPager); 

      tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
       @Override 
       public void onTabSelected(TabLayout.Tab tab) { 
        mviewPager.setCurrentItem(tab.getPosition());  // Get current clicked Tab Position 


       } 

       @Override 
       public void onTabUnselected(TabLayout.Tab tab) { 
       } 

       @Override 
       public void onTabReselected(TabLayout.Tab tab) { 
       } 
      }); 
     } 
    }); 
} 
public Parcelable saveState() { 
    return null; 
} 
class ViewPagerAdapter extends FragmentStatePagerAdapter { 

    public ViewPagerAdapter(FragmentManager manager) { 
     super(manager); 
    } 

    @Override 
    public Fragment getItem(int position) { 

    return MainFragment.newInstance(CatId.get(position), tabName.get(position)); 

} 

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

    @Override 
    public CharSequence getPageTitle(int position) { 

     return tabName.get(position); 
    } 
} 

내가 첫 번째 탭에서 아무것도 변경 anyother 탭으로 이동, 첫 번째 탭은 상쾌하고 새로운 인스턴스를 생성하고, TABNAME 및 서버에서 CATID를 얻고있다 탭

답변

0

시도 viewPager.setOfscreenPagelimit (noOfPagesInViewPager)를 설정하는 단계;

클래스 ViewPagerAdapter는 FragmentStatePagerAdapter { Mainfragment의 mainfragment을 확장;

public ViewPagerAdapter(FragmentManager manager) { 
    super(manager); 
    mainfragment=new Mainfragment(); 
} 

@Override 
public Fragment getItem(int position) { 

    return mainfragment(CatId.get(position), tabName.get(position)); 

}

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

@Override 
public CharSequence getPageTitle(int position) { 

    return tabName.get(position); 
} 

}

관련 문제