[mono-android] SimpleCursorAdapter & Managed Query
Jonathan Pryor
jonp at xamarin.com
Mon Dec 12 13:19:39 EST 2011
On Dec 10, 2011, at 12:13 AM, Nathan Blevins wrote:
> I had simple example that worked a few interations before the latest drop of Mono for Android. Basically, I have a class that queries the Booksmarks content provider and then adds those to a Simple Cursor Adapter.
...
> Whenever I attempt to run this piece of code, I get and Illegal Argument Exception, looking for an "_id" column. In some listsings, I have seen that the _ID column is required in the projection, though it was not the case previously. Any suggestions? (Log Dump Below)
I'm not able to reproduce on a Nexus One, and the following Activity works for me:
[Activity (Label = "Scratch.DefaultTemplate", MainLauncher = true)]
public class Activity1 : ListActivity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
var BookmarkCursor = ManagedQuery (Browser.BookmarksUri,
new String[] {
Browser.BookmarkColumns.Title,
Browser.BookmarkColumns.Url
},
null,
null,
null);
var SpinnerAdapter = new SimpleCursorAdapter (this,
Android.Resource.Layout.SimpleListItem1,
BookmarkCursor,
new string[] { Browser.BookmarkColumns.Title },
new int[] { Android.Resource.Id.Text1 });
this.ListAdapter = SpinnerAdapter;
}
}
Note, however, that this project has the following permissions in Properties\AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_HISTORY_BOOKMARKS" />
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" />
(I have no idea why the latter permission is required, but that's what was listed in exception output...)
Thanks,
- Jon
More information about the Monodroid
mailing list