1

次の例外が発生します。

java.lang.IllegalStateException: get field slot from row 0 col -1 failed 

を呼び出すsetAdapter()ときExpandableListView。誰かがこの問題を解決するのを手伝ってくれますか? (私はすでに 2 日を無駄にしています :( )

Cursor mCursor = tasksListCursor(); 
    Log.i("ChronicleTaskList", "rowcount: "+mCursor.getCount());
    startManagingCursor(mCursor);
    boolean flag = mCursor.moveToFirst();
    while (flag) {   // This loop executes fine.
        long id = mCursor.getLong(mCursor.getColumnIndexOrThrow(ChronicleDb.KEY_ID));
        String name = mCursor.getString(mCursor.getColumnIndexOrThrow(ChronicleDb.KEY_NAME));
        long from = mCursor.getLong(mCursor.getColumnIndexOrThrow(ChronicleDb.KEY_FROM));
        long to = mCursor.getLong(mCursor.getColumnIndexOrThrow(ChronicleDb.KEY_TO));
        Log.i("ChronicleTaskList", id + ", "+ name+ ", "+ from+ ", "+to);
        flag = mCursor.moveToNext();
    }
    String[] grpFromCols = { ChronicleDb.KEY_NAME};
    int[] grpToVals = { R.id.cGroupRowTextName };
    String[] fromCols = { TasksDbAdapter.KEY_TODODATE,
            TasksDbAdapter.KEY_NAME };
    int[] toVals = { R.id.textViewDate2, R.id.taskRowTextTask };

    ChronicleTreeListAdapterSimple adapter = new ChronicleTreeListAdapterSimple(this, mCursor, 
            R.layout.c_group_row, grpFromCols, grpToVals, 
            R.layout.task_row2, fromCols, toVals, true);
    expandableListView.setAdapter(adapter);    

最後の行で例外がスローされます。

アダプタは次のようになります。

public class ChronicleTreeListAdapterSimple extends SimpleCursorTreeAdapter {
protected static String TAG = "ChronicleTreeListAdapter";

public ChronicleTreeListAdapterSimple(
        ChronicleTaskList context, Cursor cursor,
        int groupLayout, String[] groupFrom, int[] groupTo, 
        int childLayout, String[] childFrom, int[] childTo,
        boolean showGroupName) {
    super(context, cursor, groupLayout, groupFrom, groupTo, childLayout, childFrom, childTo);
    taskList = context;
}
4

1 に答える 1

1

今は解決しました。

問題は、テーブルの主キー列にありました "id" 。だから私はそれをに変更しました、 "_id" そしてそれは魅力のように働きました。

このリンクは、修正についてのヒントを与えてくれました: https://groups.google.com/forum/?fromgroups=#!topic/android-developers/Nk-lc9shUgY

于 2012-09-20T09:36:51.513 に答える