2

com.example.android.apis.view の com.example.android.notepad と ExpandableList2.java を使用して、sqlite データベースで 2 つのテーブルを提供するコンテンツ プロバイダーと、ExpandableListActivity サブクラスを使用する表示アクティビティを含む単純なアプリケーションを作成しました。 . ExpandableList、およびグループと子のレイアウトに独自のレイアウトを使用しています。データベースの内容は表示アクティビティで適切に表示されており、グループは正常に折りたたまれて展開されます。ただし、グループを展開し、子をクリックして選択すると、次のスタック ダンプが表示されます。

スレッド [<3> main] (中断 (例外 IllegalStateException))
CursorWindow.getLong(int, int) 行: 331
SQLiteCursor(AbstractWindowedCursor).getLong(int) 行: 108
ContentResolver$CursorWrapperInner(CursorWrapper).getLong(int) 行: 127
CursorTreeAdapter$MyCursorHelper.getId(int) 行: 435
SongsList $SetListExpandableListAdapter(CursorTreeAdapter).getChildId(int, int) 行: 172
ExpandableListConnector.getItemId(int) 行: 428
AbsListView$PerformClick.run() 行: 1635
ViewRoot(Handler .handleCallback(Message) 行: 587
ViewRoot(Handler).dispatchMessage(Message) 行: 92
Looper.loop() 行: 123
ActivityThread.main(String[]) 行: 4203
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) 行: 利用不可 [ネイティブ メソッド]
Method.invoke(Object, Object.. .) 行: 521
ZygoteInit$MethodAndArgsCaller.run() 行: 791
ZygoteInit.main(String[]) 行: 549
NativeStart.main(String[]) 行: 利用不可 [ネイティブ メソッド]

私の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);
    }
}

IllegalStateException がスローされる前にコードにブレークポイントを設定することはまだできていません。私は例のようにやっているように見えますが、どうやら何かが欠けているようです。

いくつかの助けをいただければ幸いです。

4

0 に答える 0