package com.truckmuncher.app.customer; import android.database.Cursor; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.ListFragment; import android.support.v4.app.LoaderManager; import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; import android.widget.SimpleCursorAdapter; import com.truckmuncher.app.data.PublicContract; // TODO @Marius finish the implementation related to this public class TruckProfileListingFragment extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor> { private SimpleCursorAdapter adapter; @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getLoaderManager().initLoader(0, null, this); } @Override public Loader<Cursor> onCreateLoader(int id, Bundle args) { return new CursorLoader(getActivity(), PublicContract.TRUCK_URI, Query.PROJECTION, null, null, null); } @Override public void onLoadFinished(Loader<Cursor> loader, Cursor data) { if (adapter == null) { adapter = new SimpleCursorAdapter(getActivity(), android.R.layout.simple_list_item_1, data, new String[]{PublicContract.Truck.NAME}, new int[]{android.R.id.text1}, 0); setListAdapter(adapter); } adapter.swapCursor(data); } @Override public void onLoaderReset(Loader<Cursor> loader) { adapter.swapCursor(null); } interface Query { String[] PROJECTION = { PublicContract.Truck._ID, PublicContract.Truck.NAME, PublicContract.Truck.DESCRIPTION, PublicContract.Truck.IMAGE_URL }; } }