package com.nuscomputing.ivle;
import com.actionbarsherlock.app.SherlockListFragment;
import com.nuscomputing.ivle.providers.WorkbinFoldersContract;
import android.os.Bundle;
import android.support.v4.app.LoaderManager;
import android.support.v4.widget.CursorAdapter;
import android.support.v4.widget.SimpleCursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* Fragment to view a workbin.
* @author yjwong
*/
public class ViewWorkbinContentsFragment extends SherlockListFragment {
// {{{ properties
/** TAG for logging */
public static final String TAG = "ViewWorkbinContentsFragment";
/** Data loader instance */
private DataLoader mLoader;
/** LoaderManager instance */
private LoaderManager mLoaderManager;
/** The list adapter */
private SimpleCursorAdapter mAdapter = null;
/** The workbin folder ID */
private long mWorkbinFolderId = -1;
// }}}
// {{{ methods
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.view_workbin_fragment, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// Obtain the workbin folder ID.
Bundle args = getArguments();
mWorkbinFolderId = args.getLong("workbinFolderId");
if (mWorkbinFolderId == -1) {
throw new IllegalStateException("No workbin folder ID was passed to ViewWorkbinContentsFragment");
}
// Load the workbin data.
String[] uiBindFrom = {
WorkbinFoldersContract.FOLDER_NAME
};
int[] uiBindTo = {
R.id.view_workbin_fragment_list_title
};
mAdapter = new SimpleCursorAdapter(
getActivity(),
R.layout.view_workbin_fragment_list_item,
null, uiBindFrom, uiBindTo,
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER
);
mLoader = new DataLoader(getActivity(), mAdapter);
mLoaderManager = getLoaderManager();
mLoaderManager.initLoader(DataLoader.LOADER_VIEW_WORKBIN_FRAGMENT, args, mLoader);
// Set the list adapter.
setListAdapter(mAdapter);
}
// }}}
}