Using the content provider

Lucas edited this page Mar 20, 2014 · 6 revisions

Note You must override the default identity column as specified here (https://github.com/pardom/ActiveAndroid/pull/132) before the following will work:

	mySpinner.setAdapter(new SimpleCursorAdapter(getActivity(),
		android.R.layout.simple_expandable_list_item_1,
		null,
		new String[] { "MyProperty" },
		new int[] { android.R.id.text1 },
		0));
	
	getActivity().getSupportLoaderManager().initLoader(0, null, new LoaderCallbacks<Cursor>() {
		@Override
		public Loader<Cursor> onCreateLoader(int arg0, Bundle cursor) {
			return new CursorLoader(getActivity(),
				ContentProvider.createUri(MyEntityClass.class, null),
				null, null, null, null
			);
		}
		
		@Override
		public void onLoadFinished(Loader<Cursor> arg0, Cursor cursor) {
			((SimpleCursorAdapter)mySpinner.getAdapter()).swapCursor(cursor);
		}
		
		@Override
		public void onLoaderReset(Loader<Cursor> arg0) {
			((SimpleCursorAdapter)mySpinner.getAdapter()).swapCursor(null);
		}
	});

You must also have the following provider in your AndroidManifest.xml:

<application ...>
    <provider android:authorities="com.example" android:exported="false" android:name="com.activeandroid.content.ContentProvider" />
    ...
</application>
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.