package com.ithooks.android.xreap.base; import android.database.Cursor; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.LoaderManager; import android.support.v4.content.Loader; import android.view.View; import com.ithooks.android.xreap.adapter.BaseAbstractRecycleCursorAdapter; /** * Author: ZhuWenWu * Version V1.0 * Date: 14-11-22 18:48 * Description: DB配合LoaderManager加载数据 * Modification History: * Date Author Version Description * ----------------------------------------------------------------------------------- * 14-11-22 ZhuWenWu 1.0 1.0 * Why & What is modified: */ public abstract class BaseRecycleCursorFragment extends RecycleRefreshBaseFragment implements LoaderManager.LoaderCallbacks<Cursor> { protected BaseAbstractRecycleCursorAdapter mCursorAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); setUpCursorAdapter(); } @Override public Loader<Cursor> onCreateLoader(int id, Bundle bundle) { return createCursorLoader(); } @Override public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { if (mCursorAdapter != null) { mCursorAdapter.changeCursor(cursor); } } @Override public void onLoaderReset(Loader<Cursor> loader) { if (mCursorAdapter != null) { mCursorAdapter.changeCursor(null); } } protected abstract void setUpCursorAdapter(); protected abstract Loader<Cursor> createCursorLoader(); }