package cn.daixiaodong.myapp.fragment.common; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.widget.SwipeRefreshLayout; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public abstract class SwipeRefreshBaseFragment extends BaseFragment { protected SwipeRefreshLayout mSwipeRefreshLayout; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(getLayoutResId(), container, false); } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); initViews(view); } protected void initViews(View view) { mSwipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(getSwipeRefreshLayoutResId()); if (mSwipeRefreshLayout == null) { return; } mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { refreshData(); } }); } protected void setRefreshing(boolean refreshing) { if (mSwipeRefreshLayout == null) { return; } if (mSwipeRefreshLayout.isRefreshing()) { mSwipeRefreshLayout.setRefreshing(refreshing); } } protected void refreshData() { } public abstract int getLayoutResId(); public abstract int getSwipeRefreshLayoutResId(); }