猿问

TabLayout如何在选择时再进行加载

TabLayout如何在选择时再进行加载?
写了一个TabLayout,可是在启动应用时就已经将tab下所有标签全部加载完成了,我想实现的是点击某个标签再进行这个标签下fragment的加载,就像知乎一样,请问这个功能该如何实现?
附上

public class MainActivity extends AppCompatActivity {


    @BindView(R.id.mainLinearLayout)

    LinearLayout mainLinear;

    @BindView(R.id.mainContent)

    FrameLayout mainContent;

    @BindView(R.id.tabHost)

    FragmentTabHost tabHost;

    @BindView(R.id.tabContent)

    FrameLayout tabContent;


    private LayoutInflater inflater;  //用于装载view

    private List<MainTabs> mTabs = new ArrayList<>(4);  //用于储存每个标签内容


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        ButterKnife.bind(this);

        initBmob();

        initTab();

    }


    private void initBmob() {

////        第一:默认初始化

//        Bmob.initialize(this, "67d2f18dc98bf4f958229765bc8b0b06");



        //        第二:自v3.4.7版本开始,设置BmobConfig,允许设置请求超时时间、文件分片上传时每片的大小、文件的过期时间(单位为秒),

        BmobConfig config = new BmobConfig.Builder(this)

                //设置appkey

                .setApplicationId("67d2f18dc98bf4f958229765bc8b0b06")

                //请求超时时间(单位为秒):默认15s

                .setConnectTimeout(30)

                //文件分片上传时每片的大小(单位字节),默认512*1024

                .setUploadBlockSize(1024 * 1024)

                //文件的过期时间(单位为秒):默认1800s

                .setFileExpiration(2500)

                .build();

        Bmob.initialize(config);

    }


    private void getPermission() {

        PermissionManager helper;

        helper = PermissionManager.with(MainActivity.this);

        //添加权限请求码

//        helper.addRequestCode(10)

    }



交互式爱情
浏览 934回答 3
3回答

胡说叔叔

推荐你使用tablayout + viewpager +fragment 做布局,然后再设置viewpager的懒加载机制ViewPager缓存机制

呼唤远方

楼上正解,用viewpager配合fragment可以很容易的做到这点
随时随地看视频慕课网APP

相关分类

Java
我要回答