Java Android - Tab Pager 不重新启动 fragment

标签 java android android-fragments tabpage

当我滑动另一个已经加载的 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() 方法?

这是开发者信息:http://developer.android.com/reference/android/support/v4/view/ViewPager.html#setOffscreenPageLimit(int)

关于Java Android - Tab Pager 不重新启动 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23045001/

相关文章:

Android android.view.InflateException 二进制 XML 文件行 #16 : Error inflating class fragment

java - HashMap containsKey() 方法不适用于某些元素

Android解析org.json.JSONObject对象没有 "getFloat"方法。我该怎么办?

android - fragment 上的空指针异常

android - 带有转换的 fragment 交易 - 需要唯一的转换名称

java - Android 中格式错误的 URL 异常

java - 如何让 Activity 后退按钮返回 fragment ?

java - 在其他类Java中使用MySQL连接

Java:PrintStream 和 PrintWriter 之间的区别

Java:读取CSV文件以获取各种统计数据的最小值、最大值、平均值