私たちは、タブレイアウト内に4つのタブがあるプロジェクトに取り組んでいます.4つのタブのそれぞれは、フラグメントであり、ロード時に呼び出されるWebサービスがあります。スワイプでフラグメントをリフレッシュできるように、再び呼び出されます。しかし、最初の断片がロードされていると私は、タブをスワイプし、最初のフラグメントに戻ってきたときに、それは次のようrefreshing.Theされていないときに我々は今まで試みているものです:TabLayoutのスワイプ・タブでフラグメントがリフレッシュされない
tabLayout = (TabLayout) findViewById(R.id.tablayout);
tabLayout.addTab(tabLayout.newTab().setCustomView(tabView));
tabLayout.addTab(tabLayout.newTab().setText("TAB 1"));
tabLayout.addTab(tabLayout.newTab().setText("TAB 2"));
tabLayout.addTab(tabLayout.newTab().setText("TAB 3"));
tabLayout.addTab(tabLayout.newTab().setText("TAB 4"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
final ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
final PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
The adapter class:
public class PagerAdapter extends FragmentStatePagerAdapter {
int mNumOfTabs;
public PagerAdapter(FragmentManager fm, int NumOfTabs) {
super(fm);
this.mNumOfTabs = NumOfTabs;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
TabFragment2015 tab1 = new TabFragment2015();
return tab1;
case 1:
TabFragmentXchanges tab2 = new TabFragmentXchanges();
return tab2;
case 2:
TabFragmentToday tab3 = new TabFragmentToday();
return tab3;
case 3:
TabFragment2016 tab4=new TabFragment2016();
return tab4;
default:
return null;
}
}
@Override
public int getCount() {
return mNumOfTabs;
}
}
4つのタブused.I午前があります以下のコードを使用して第1〜第3のタブの負荷を作る:
tabLayout.setScrollPosition(2, 0f, true);
viewPager.setCurrentItem(2);
iはthridタブから2番目のタブにスワイプした後、再び第三のタブを開き、私は最初にreload.But doesntの断片をスワイプ場合タブをクリックしてから、3回目のタブを開き、更新します。各スワイプでタブを更新します。