package org.aisen.wen.ui.view.impl; import android.os.Bundle; import android.support.v4.widget.SwipeRefreshLayout; import org.aisen.wen.R; import org.aisen.wen.R2; import org.aisen.wen.ui.presenter.IPagingPresenter; import java.io.Serializable; import butterknife.BindView; /** * Created by wangdan on 16/10/14. */ public abstract class AListViewSwipeRefreshVIew<Item extends Serializable, Result extends Serializable, Header extends Serializable> extends AListView<Item, Result, Header> implements SwipeRefreshLayout.OnRefreshListener { @BindView(R2.id.swipeRefreshLayout) SwipeRefreshLayout swipeRefreshLayout; @Override public int setLayoutId() { return R.layout.comm_ui_list_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 setRefreshViewFinished(IPagingPresenter.RefreshMode mode) { if (mode != IPagingPresenter.RefreshMode.update && swipeRefreshLayout.isRefreshing()) swipeRefreshLayout.setRefreshing(false); } public SwipeRefreshLayout getSwipeRefreshLayout() { return swipeRefreshLayout; } }