【发布时间】:2016-02-16 15:09:37
【问题描述】:
我正在使用tabLayout 开发一个应用程序。
我有一个问题:当我尝试重新激活Fragment 时,方法OnResume 未被调用。
这是我的活动:
private void init() {
fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Nuovo Ticket", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
final PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(viewPager);
}
我使用这样的 FragmentStatePagerAdapter:
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:
return new LavorazioneFragment();
case 1:
return new PendingFragment();
case 2:
return new StoriciFragment();
default:
return null;
}
}
@Override
public int getCount() {
return mNumOfTabs;
}
}
当我从TAB3 片段(最后一个)重新激活TAB1 片段时,会调用OnResume 方法。但是,例如,
当我尝试从第二个标签重新激活第一个标签时,从未调用过。
【问题讨论】:
-
你没有使用
setupWithViewPager()有什么原因吗? -
@Daniel Nugent 没有理由!我该如何使用它?
-
@DanielNugen 我已经按照你的建议更新了我的代码,但没有解决我的问题。
标签: android android-fragments android-viewpager android-tablayout