package ren.solid.ganhuoio.module.read; import android.support.design.widget.TabLayout; import android.support.v4.view.ViewCompat; import android.support.v4.view.ViewPager; import android.view.View; import java.util.List; import io.reactivex.SingleObserver; import io.reactivex.annotations.NonNull; import io.reactivex.disposables.Disposable; import me.solidev.statusviewlayout.StatusViewLayout; import ren.solid.ganhuoio.R; import ren.solid.ganhuoio.api.XianDuService; import ren.solid.ganhuoio.bean.XianDuCategory; import ren.solid.library.fragment.base.BaseFragment; import ren.solid.library.rx.RxUtils; import ren.solid.library.utils.ViewUtils; /** * Created by _SOLID * Date:2016/11/29 * Time:17:01 * Desc:闲读 */ public class ReadingTabFragment extends BaseFragment { private TabLayout tab_layout; private ViewPager view_pager; private StatusViewLayout status_view_layout; private XianDuTabAdapter mAdapter; @Override protected int setLayoutResourceID() { return R.layout.fragment_reading_tab; } @Override protected void setUpView() { status_view_layout = $(R.id.status_view_layout); tab_layout = $(R.id.tab_layout); view_pager = $(R.id.view_pager); ViewCompat.setElevation(tab_layout, ViewUtils.dp2px(getContext(), 4)); status_view_layout.setOnRetryListener(new View.OnClickListener() { @Override public void onClick(View v) { setUpData(); } }); } @Override protected void setUpData() { status_view_layout.showLoading(); XianDuService.getCategorys() .compose(RxUtils.<List<XianDuCategory>>defaultSchedulers_single()) .subscribe(new SingleObserver<List<XianDuCategory>>() { @Override public void onSubscribe(@NonNull Disposable d) { } @Override public void onSuccess(@NonNull List<XianDuCategory> xianDuCategories) { status_view_layout.showContent(); mAdapter = new XianDuTabAdapter(getChildFragmentManager(), xianDuCategories); view_pager.setAdapter(mAdapter); tab_layout.setupWithViewPager(view_pager); } @Override public void onError(@NonNull Throwable e) { status_view_layout.showError(e.getMessage()); } }); } //TODO: 点击返回时现将列表滚动到顶部 public boolean scrollToTop() { return true; } }