当我滑动另一个已经加载的 fragment 时,该 fragment 会再次加载。如何解决?
我有 Tab Pager 的默认 MainActivity:
public class MainActivity extends FragmentActivity {
ViewPager Tab;
TabPagerAdapter TabAdapter;
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TabAdapter = new TabPagerAdapter(getSupportFragmentManager());
Tab = (ViewPager)findViewById(R.id.pager);
Tab.setOnPageChangeListener(
new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar = getActionBar();
actionBar.setSelectedNavigationItem(position); }
});
Tab.setAdapter(TabAdapter);
actionBar = getActionBar();
//Enable Tabs on Action Bar
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.TabListener tabListener = new ActionBar.TabListener(){
@Override
public void onTabReselected(android.app.ActionBar.Tab tab,
FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
Tab.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(android.app.ActionBar.Tab tab,
FragmentTransaction ft) {
// TODO Auto-generated method stub
}};
//Add New Tab
actionBar.addTab(actionBar.newTab().setText("Все").setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Цитаты").setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Картинки").setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Видео").setTabListener(tabListener));
}
}
这不太酷,我有很多不必要的异步任务,因此应用程序刚刚关闭。
最佳答案
您是否尝试过使用 ViewPager 中的 setOffscreenPageLimit() 方法?
关于Java Android - Tab Pager 不重新启动 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23045001/