package com.dl7.mvp.module.photo.news; import android.support.v7.widget.RecyclerView; import com.dl7.mvp.R; import com.dl7.mvp.api.bean.PhotoInfo; import com.dl7.mvp.injector.components.DaggerPhotoNewsComponent; import com.dl7.mvp.injector.modules.PhotoNewsModule; import com.dl7.mvp.module.base.BaseFragment; import com.dl7.mvp.module.base.IBasePresenter; import com.dl7.mvp.module.base.ILoadDataView; import com.dl7.recycler.adapter.BaseQuickAdapter; import com.dl7.recycler.helper.RecyclerViewHelper; import com.dl7.recycler.listener.OnRequestDataListener; import java.util.List; import javax.inject.Inject; import butterknife.BindView; import jp.wasabeef.recyclerview.adapters.SlideInBottomAnimationAdapter; /** * Created by long on 2016/9/5. * 图片新闻列表 */ public class PhotoNewsFragment extends BaseFragment<IBasePresenter> implements ILoadDataView<List<PhotoInfo>> { @BindView(R.id.rv_photo_list) RecyclerView mRvPhotoList; @Inject BaseQuickAdapter mAdapter; @Override protected int attachLayoutRes() { return R.layout.fragment_photo_list; } @Override protected void initInjector() { DaggerPhotoNewsComponent.builder() .applicationComponent(getAppComponent()) .photoNewsModule(new PhotoNewsModule(this)) .build() .inject(this); } @Override protected void initViews() { RecyclerViewHelper.initRecyclerViewV(mContext, mRvPhotoList, new SlideInBottomAnimationAdapter(mAdapter)); mAdapter.setRequestDataListener(new OnRequestDataListener() { @Override public void onLoadMore() { mPresenter.getMoreData(); } }); } @Override protected void updateViews(boolean isRefresh) { mPresenter.getData(isRefresh); } @Override public void loadData(List<PhotoInfo> photoList) { mAdapter.updateItems(photoList); } @Override public void loadMoreData(List<PhotoInfo> photoList) { mAdapter.addItems(photoList); } @Override public void loadNoData() { mAdapter.noMoreData(); } }