package com.sage42.android.view.pager;
import android.database.Cursor;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
/**
* Original Code: http://stackoverflow.com/questions/12737222/viewpager-and-database
*/
public abstract class CursorFragmentPagerAdapter extends FragmentStatePagerAdapter
{
protected Cursor mCursor;
public CursorFragmentPagerAdapter(final FragmentManager fragmentManager, final Cursor cursor)
{
super(fragmentManager);
this.mCursor = cursor;
}
@Override
public Fragment getItem(final int position)
{
if (this.mCursor == null)
{
return null;
}
this.mCursor.moveToPosition(position);
return this.getItem(this.mCursor);
}
public abstract Fragment getItem(final Cursor cursor);
@Override
public int getCount()
{
if (this.mCursor == null)
{
return 0;
}
return this.mCursor.getCount();
}
public void swapCursor(final Cursor cursor)
{
if (this.mCursor == cursor)
{
return;
}
this.mCursor = cursor;
this.notifyDataSetChanged();
}
public Cursor getCursor()
{
return this.mCursor;
}
}