Android 表布局预加载下一个选项卡
我有一个带有ViewPager的tablayout(tab1、tab2、tab3)。似乎在应用程序启动时,tab2已预加载,这很好 但是,我需要在tab1上输入一些数据,我希望tab2根据从tab1输入的数据更新其片段并隐藏一些按钮 怎么做?有没有办法不预加载选项卡,这样当我滑动到tab2时,它将获得最新数据而不是旧数据 这是我的密码Android 表布局预加载下一个选项卡,android,android-viewpager,android-tablayout,android-pageradapter,Android,Android Viewpager,Android Tablayout,Android Pageradapter,我有一个带有ViewPager的tablayout(tab1、tab2、tab3)。似乎在应用程序启动时,tab2已预加载,这很好 但是,我需要在tab1上输入一些数据,我希望tab2根据从tab1输入的数据更新其片段并隐藏一些按钮 怎么做?有没有办法不预加载选项卡,这样当我滑动到tab2时,它将获得最新数据而不是旧数据 这是我的密码 private ViewPager viewPager; private PagerAdapter adapter; private TabLayout tabL
private ViewPager viewPager;
private PagerAdapter adapter;
private TabLayout tabLayout;
在活动中的onCreate方法中
tabLayout.addTab(tabLayout.newTab().setText("Input"));
tabLayout.addTab(tabLayout.newTab().setText("Detail"));
tabLayout.addTab(tabLayout.newTab().setText("Chart"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
viewPager = (ViewPager) findViewById(R.id.pager);
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) {
}
});
这是我的pageadapater课程
public class PagerAdapter extends FragmentPagerAdapter {
int mNumOfTabs;
private InputFragment inputFragment;
private DetailFragment detailFragment;
private ChartFragment chartFragment;
public PagerAdapter(FragmentManager fm, int NumOfTabs) {
super(fm);
this.mNumOfTabs = NumOfTabs;
}
@Override
public int getItemPosition(Object object) {
// TODO Auto-generated method stub
return POSITION_NONE;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
inputFragment = new InputFragment();
return inputFragment;
case 1:
detailFragment = new detailFragment();
return detailFragment;
case 2:
chartFragment = new ChartFragment();
return chartFragment;
default:
return null;
}
}
@Override
public int getCount() {
return mNumOfTabs;
}
}
在你的碎片上
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
//check values on tab 1 and try to update your tab 2 views accordingly
}
}
这个答案对我帮助很大。