package com.fly.tour.common.dagger.base;
import com.fly.tour.common.dagger.mvp.BaseModel;
import com.fly.tour.common.dagger.mvp.BaseRefreshPresenter;
import com.fly.tour.common.dagger.mvp.BaseRefreshView;
import com.refresh.lib.BaseRefreshLayout;
import com.refresh.lib.DaisyRefreshLayout;
/**
* Description: <下拉刷新、上拉加载更多的Activity>
* Author: gxl
* Date: 2018/2/26
* Version: V1.0.0
* Update:
*/
public abstract class BaseRefreshActivity, P extends BaseRefreshPresenter, T> extends BaseMvpActivity implements BaseRefreshView {
protected DaisyRefreshLayout mRefreshLayout;
@Override
protected void initCommonView() {
super.initCommonView();
initRefreshView();
}
public void initRefreshView() {
mRefreshLayout = findViewById(onBindRreshLayout());
// 下拉刷新
mRefreshLayout.setOnRefreshListener(new BaseRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
onRefreshEvent();
}
});
// 上拉加载
mRefreshLayout.setOnLoadMoreListener(new BaseRefreshLayout.OnLoadMoreListener() {
@Override
public void onLoadMore() {
onLoadMoreEvent();
}
});
// 自动加载
mRefreshLayout.setOnAutoLoadListener(new BaseRefreshLayout.OnAutoLoadListener() {
@Override
public void onAutoLoad() {
onAutoLoadEvent();
}
});
}
protected abstract int onBindRreshLayout();
@Override
public void enableRefresh(boolean b) {
mRefreshLayout.setEnableRefresh(b);
}
@Override
public void enableLoadMore(boolean b) {
mRefreshLayout.setEnableLoadMore(b);
}
@Override
public void stopRefresh() {
mRefreshLayout.setRefreshing(false);
}
@Override
public void stopLoadMore() {
mRefreshLayout.setLoadMore(false);
}
@Override
public void autoLoadData() {
mRefreshLayout.autoRefresh();
}
}