package me.weyye.todaynews.base; import android.os.Bundle; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import com.chad.library.adapter.base.BaseQuickAdapter; import me.weyye.todaynews.R; /** * Created by RayYeung on 2016/8/8. */ public abstract class BaseMvpFragment<P extends BasePresenter> extends BaseFragment { protected P mvpPresenter; @Override public void onViewCreated(View view, Bundle savedInstanceState) { if (mvpPresenter == null) mvpPresenter = createPresenter(); super.onViewCreated(view, savedInstanceState); } @Override protected void lazyLoad() { if (mvpPresenter == null) mvpPresenter = createPresenter(); super.lazyLoad(); } protected abstract P createPresenter(); @Override public void onDestroyView() { super.onDestroyView(); if (mvpPresenter != null) { mvpPresenter.detachView(); mvpPresenter = null; } } // protected UserInfo user; public RecyclerView initCommonRecyclerView(BaseQuickAdapter adapter, RecyclerView.ItemDecoration decoration) { RecyclerView recyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); if (decoration != null) { recyclerView.addItemDecoration(decoration); } recyclerView.setAdapter(adapter); return recyclerView; } public RecyclerView initHorizontalRecyclerView(BaseQuickAdapter adapter, RecyclerView.ItemDecoration decoration) { return initHorizontalRecyclerView(null, adapter, decoration); } public RecyclerView initHorizontalRecyclerView(RecyclerView recyclerView, BaseQuickAdapter adapter, RecyclerView.ItemDecoration decoration) { return initHorizontalRecyclerView(recyclerView, adapter, decoration, false); } public RecyclerView initHorizontalRecyclerView(RecyclerView recyclerView, BaseQuickAdapter adapter, RecyclerView.ItemDecoration decoration, boolean reverseLayout) { if (recyclerView == null) recyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, reverseLayout)); if (decoration != null) { recyclerView.addItemDecoration(decoration); } recyclerView.setAdapter(adapter); return recyclerView; } public RecyclerView initGridRecyclerView(BaseQuickAdapter adapter, RecyclerView.ItemDecoration decoration, int spanCount) { return initGridRecyclerView((RecyclerView) rootView.findViewById(R.id.recyclerView), adapter, decoration, spanCount); } public RecyclerView initGridRecyclerView(RecyclerView recyclerView, BaseQuickAdapter adapter, RecyclerView.ItemDecoration decoration, int spanCount) { recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), spanCount)); if (decoration != null) { recyclerView.addItemDecoration(decoration); } recyclerView.setAdapter(adapter); return recyclerView; } }