package ren.solid.ganhuoio.module.home.fragment; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearSnapHelper; import android.support.v7.widget.RecyclerView; import java.util.List; import me.drakeet.multitype.MultiTypeAdapter; import ren.solid.ganhuoio.api.GankService; import ren.solid.ganhuoio.bean.GanHuoData; import ren.solid.library.fragment.base.AbsListFragment; import ren.solid.library.http.HttpResult; import ren.solid.library.http.ServiceFactory; import ren.solid.library.http.subscriber.HttpResultSubscriber; import ren.solid.library.rx.RxUtils; /** * Created by _SOLID * Date:2016/5/21 * Time:9:31 */ public class MeiZhiFragment extends AbsListFragment { public static MeiZhiFragment newInstance() { Bundle args = new Bundle(); MeiZhiFragment fragment = new MeiZhiFragment(); fragment.setArguments(args); return fragment; } @Override protected void customConfig() { new LinearSnapHelper().attachToRecyclerView(mRecyclerView); } @NonNull @Override protected RecyclerView.LayoutManager getLayoutManager() { return new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false); } @Override public void loadData(final int pageIndex) { ServiceFactory.getInstance() .createService(GankService.class) .getGanHuo("福利", pageIndex) .compose(this.<HttpResult<List<GanHuoData>>>bindToLifecycle()) .compose(RxUtils.<HttpResult<List<GanHuoData>>>defaultSchedulers_single()) .subscribe(new HttpResultSubscriber<List<GanHuoData>>() { @Override public void _onError(Throwable e) { showError(new Exception(e)); } @Override public void _onSuccess(List<GanHuoData> ganHuoDataBeen) { onDataSuccessReceived(pageIndex, ganHuoDataBeen); } }); } @Override protected MultiTypeAdapter getAdapter() { return new MultiTypeAdapter(getItems()) { @NonNull @Override public Class onFlattenClass(@NonNull Object item) { return GanHuoData.Meizhi.class; } }; } }