我正在開發一個使用tabLayout的應用程序。OnResume()不使用tabLayout和ViewPager在片段中調用
我遇到了問題:當我嘗試重新激活片段時,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 Fragmen的TAB1片段(最後一個), OnResume方法被調用。但是,例如,當我嘗試從第二個重新激活第一個選項卡時,從未調用過。
有沒有原因你不使用'setupWithViewPager()'? –
@Daniel Nugent沒理由!我如何使用它? – Anto
https://guides.codepath.com/android/google-play-style-tabs-using-tablayout –