package com.team.zhuoke.view.live.fragment;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import com.team.zhuoke.R;
import com.team.zhuoke.base.BaseFragment;
import com.team.zhuoke.base.BaseView;
import com.team.zhuoke.model.logic.live.LiveSportsColumnAllListModelLogic;
import com.team.zhuoke.model.logic.live.bean.LiveSportsAllList;
import com.team.zhuoke.presenter.live.impl.LiveSportsColumnAllListPresenterImp;
import com.team.zhuoke.presenter.live.interfaces.LiveSportsColumnAllListContract;
import com.team.zhuoke.ui.refreshview.XRefreshView;
import com.team.zhuoke.view.live.adapter.LiveSportsColumnListAdapter;
import java.util.List;
import butterknife.BindView;
/**
* 作者:${User}
* 电话:18810474975
* 邮箱:18810474975@163.com
* 版本号:
* 类描述:
* 修改时间:${DATA}1634
*/
public class LiveSportsColumnFragment extends BaseFragment<LiveSportsColumnAllListModelLogic,LiveSportsColumnAllListPresenterImp> implements LiveSportsColumnAllListContract.View {
/**
* 分页加载
*/
// 起始位置
private int offset = 0;
// 每页加载数量
private int limit = 20;
@BindView(R.id.livesports_content_recyclerview)
RecyclerView livesportsContentRecyclerview;
@BindView(R.id.rtefresh_content)
XRefreshView rtefreshContent;
private LiveSportsColumnListAdapter mLiveSportsColumnListAdapter;
public static LiveSportsColumnFragment getInstance() {
LiveSportsColumnFragment rf = new LiveSportsColumnFragment();
return rf;
}
@Override
protected int getLayoutId() {
return R.layout.fragment_live_sports;
}
@Override
protected void onInitView(Bundle bundle) {
setXrefeshViewConfig();
livesportsContentRecyclerview.setLayoutManager(new GridLayoutManager(getActivity(), 2, GridLayoutManager.VERTICAL, false));
mLiveSportsColumnListAdapter=new LiveSportsColumnListAdapter(getActivity());
livesportsContentRecyclerview.setAdapter(mLiveSportsColumnListAdapter);
rtefreshContent.setXRefreshViewListener(new XRefreshView.SimpleXRefreshListener() {
@Override
public void onRefresh() {
// 延迟500毫秒, 原因 用户体验好 !!!
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
refresh();
}
}, 500);
}
@Override
public void onLoadMore(boolean isSilence) {
offset+=limit;
loadMore(offset, limit);
}
});
}
private void loadMore(int offset, int limit) {
mPresenter.getPresenterLiveSportsColumnAllListLoadMore(offset,limit);
}
/**
* 刷新网络数据
*/
private void refresh() {
// 重新开始计算
offset=0;
mPresenter.getPresenterLiveSportsColumnAllList(0, limit);
}
@Override
protected void onEvent() {
}
/**
* 配置XRefreshView
*/
protected void setXrefeshViewConfig() {
rtefreshContent.setPinnedTime(2000);
rtefreshContent.setPullLoadEnable(true);
rtefreshContent.setPullRefreshEnable(true);
rtefreshContent.setMoveForHorizontal(true);
rtefreshContent.setPinnedContent(true);
// 滚动到底部 自动加载数据
rtefreshContent.setSilenceLoadMore();
}
@Override
protected BaseView getViewImp() {
return this;
}
@Override
protected void lazyFetchData() {
refresh();
}
@Override
public void getViewLiveSportsColumnAllListColumn(List<LiveSportsAllList> mLiveAllList) {
if(rtefreshContent!=null)
{
rtefreshContent.stopRefresh();
}
mLiveSportsColumnListAdapter.getLiveLiveSportsColumnList(mLiveAllList);
}
@Override
public void getViewLiveSportsColumnAllListLoadMore(List<LiveSportsAllList> mLiveAllList) {
if(rtefreshContent!=null)
{
rtefreshContent.stopLoadMore();
}
mLiveSportsColumnListAdapter.getLiveSportsColumnListLoadMore(mLiveAllList);
}
@Override
public void showErrorWithStatus(String msg) {
if(rtefreshContent!=null)
{
rtefreshContent.stopRefresh(false);
rtefreshContent.stopLoadMore(false);
}
}
}