package com.example.jingbin.cloudreader.ui.book;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import com.example.jingbin.cloudreader.R;
import com.example.jingbin.cloudreader.base.BaseFragment;
import com.example.jingbin.cloudreader.databinding.FragmentBookBinding;
import com.example.jingbin.cloudreader.ui.book.child.BookCustomFragment;
import com.example.jingbin.cloudreader.view.MyFragmentPagerAdapter;
import java.util.ArrayList;
/**
* Created by jingbin on 16/12/14.
* 展示书籍的页面
*/
public class BookFragment extends BaseFragment<FragmentBookBinding> {
private ArrayList<String> mTitleList = new ArrayList<>(3);
private ArrayList<Fragment> mFragments = new ArrayList<>(3);
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
showLoading();
initFragmentList();
/**
* 注意使用的是:getChildFragmentManager,
* 这样setOffscreenPageLimit()就可以添加上,保留相邻2个实例,切换时不会卡
* 但会内存溢出,在显示时加载数据
*/
MyFragmentPagerAdapter myAdapter = new MyFragmentPagerAdapter(getChildFragmentManager(), mFragments, mTitleList);
bindingView.vpBook.setAdapter(myAdapter);
// 左右预加载页面的个数
bindingView.vpBook.setOffscreenPageLimit(2);
myAdapter.notifyDataSetChanged();
bindingView.tabBook.setTabMode(TabLayout.MODE_FIXED);
bindingView.tabBook.setupWithViewPager(bindingView.vpBook);
showContentView();
}
@Override
public int setContent() {
return R.layout.fragment_book;
}
private void initFragmentList() {
mTitleList.add("文学");
mTitleList.add("文化");
mTitleList.add("生活");
mFragments.add(BookCustomFragment.newInstance("文学"));
mFragments.add(BookCustomFragment.newInstance("文化"));
mFragments.add(BookCustomFragment.newInstance("生活"));
}
}