Using com.example.android.notepad and ExpandableList2.java from
com.example.android.apis.view, I have written a simple application
that contains a content provider serving two tables in an sqlite
database and a display activity that uses my ExpandableListActivity
subclass. I am using my own layouts for the ExpandableList, and the
group and child layouts. The contents of the database are being
displayed properly in the display activity, and the groups collapse
and expand fine. However, if I expand a group, and click on a child to
select it, I get the following stack dump:

Thread [<3> main] (Suspended (exception IllegalStateException))
        CursorWindow.getLong(int, int) line: 331
        SQLiteCursor(AbstractWindowedCursor).getLong(int) line: 108
        ContentResolver$CursorWrapperInner(CursorWrapper).getLong(int) line:
127
        CursorTreeAdapter$MyCursorHelper.getId(int) line: 435
        SongsList
$SetListExpandableListAdapter(CursorTreeAdapter).getChildId(int, int)
line: 172
        ExpandableListConnector.getItemId(int) line: 428
        AbsListView$PerformClick.run() line: 1635
        ViewRoot(Handler).handleCallback(Message) line: 587
        ViewRoot(Handler).dispatchMessage(Message) line: 92
        Looper.loop() line: 123
        ActivityThread.main(String[]) line: 4203
        Method.invokeNative(Object, Object[], Class, Class[], Class, int,
boolean) line: not available [native method]
        Method.invoke(Object, Object...) line: 521
        ZygoteInit$MethodAndArgsCaller.run() line: 791
        ZygoteInit.main(String[]) line: 549
        NativeStart.main(String[]) line: not available [native method]

My SimpleCursorTreeAdapter:

public class SetListExpandableListAdapter extends
SimpleCursorTreeAdapter {

        public SetListExpandableListAdapter(Context context, Cursor
cursor, int groupLayout,
                int childLayout, String[] groupFrom, int[] groupTo,
String[] childrenFrom,
                int[] childrenTo) {
            super(context, cursor, groupLayout, groupFrom, groupTo,
childLayout, childrenFrom,
                    childrenTo);
        }
        @Override
        protected Cursor getChildrenCursor(Cursor setListCursor) {
            Uri.Builder builder =
SetListDefs.Songs.CONTENT_URI.buildUpon();
            Uri songsUri = builder.build();
            return managedQuery(songsUri, mSongProjection,
                        "SETLIST = '" +
Long.toString(setListCursor.getLong(mSetListIdColumnIndex)) + "'",
                        null, null);
        }
    }

I've yet to be able to set a breakpoint in my code that is reached
before the IllegalStateException gets thrown. Looks to me that I'm
doing what the examples do, but apparently there is something I'm
missing.

Some help would be greatly appreciated.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to