相关疑难解决方法(0)

FragmentPagerAdapter和FragmentStatePagerAdapter有什么区别?

FragmentPagerAdapter和之间有什么区别FragmentStatePagerAdapter

关于FragmentPagerAdapterGoogle的指南说:

此版本的寻呼机最适合在有少量通常更多静态片段进行分页时使用,例如一组选项卡.用户访问的每个页面的片段将保留在内存中,但其视图层次结构可能在不可见时被销毁.这可能导致使用大量内存,因为片段实例可以保持任意数量的状态.对于较大的页面集,请考虑FragmentStatePagerAdapter.

关于FragmentStatePagerAdapter:

当存在大量页面时,此版本的寻呼机更有用,更像列表视图.当页面对用户不可见时,它们的整个片段可能被破坏,只保留该片段的保存状态.与FragmentPagerAdapter在页面之间切换时可能更多的开销相比,这允许寻呼机保持与每个被访问页面相关联的更少的存储器 .

所以我只有3个片段.但它们都是具有大量数据的独立模块.

Fragment1处理一些数据(用户输入)并通过活动传递给它Fragment2,这很简单ListFragment.Fragment3也是一个ListFragment.

所以我的问题是:我应该使用哪种适配器?FragmentPagerAdapter还是FragmentStatePagerAdapter

android android-fragments android-viewpager fragmentpageradapter fragmentstatepageradapter

357
推荐指数
5
解决办法
11万
查看次数

标签内容在更改页面后消失

我的片段中包含ViewPager的Tab(TabHost或TabContent)有一个奇怪的问题.

问题是,当我更改页面时,然后我回到带有tab和viewPager的片段,我的内容或视图消失了.

之前消失了 - > 回到这个片段之后

这是TabFragment的代码

package com.halo.mobi.fragment;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.HorizontalScrollView;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;
import android.widget.TabHost.TabContentFactory;
import android.widget.TabWidget;
import android.widget.TextView;
import com.halo.mobi.R;

public class GameTabFragment extends Fragment {
    Activity myActivity;

    TabWidget tab;
    TabHost tabHost;
    ViewPager pager;
    HorizontalScrollView hsvTab;

    List<String> headers;

    TabPagerAdapter adapter;
    TabContentFactory fac;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated …
Run Code Online (Sandbox Code Playgroud)

android fragment android-tabhost android-fragments

11
推荐指数
2
解决办法
4737
查看次数