package org.aisen.android.ui.fragment;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout;
import org.aisen.android.R;
import org.aisen.android.support.inject.ViewInject;
import java.io.Serializable;
/**
* Created by wangdan on 16/1/6.
*/
public abstract class ARecycleViewSwipeRefreshFragment<T extends Serializable, Ts extends Serializable, Header extends Serializable>
extends ARecycleViewFragment<T, Ts, Header>
implements SwipeRefreshLayout.OnRefreshListener {
@ViewInject(idStr = "swipeRefreshLayout")
SwipeRefreshLayout swipeRefreshLayout;
@Override
public int inflateContentView() {
return R.layout.comm_ui_recycleview_swiperefresh;
}
@Override
protected void setupRefreshView(Bundle savedInstanceSate) {
super.setupRefreshView(savedInstanceSate);
setupSwipeRefreshLayout();
}
protected void setupSwipeRefreshLayout() {
swipeRefreshLayout.setOnRefreshListener(this);
swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright,
android.R.color.holo_green_light,
android.R.color.holo_orange_light,
android.R.color.holo_red_light);
}
@Override
public void onRefresh() {
onPullDownToRefresh();
}
@Override
public boolean setRefreshViewToLoading() {
swipeRefreshLayout.setRefreshing(true);
return false;
}
@Override
public void onRefreshViewFinished(RefreshMode mode) {
if (mode != RefreshMode.update && swipeRefreshLayout.isRefreshing())
swipeRefreshLayout.setRefreshing(false);
}
public SwipeRefreshLayout getSwipeRefreshLayout() {
return swipeRefreshLayout;
}
}