2012-09-19 86 views
1

我得到以下异常:ExpandableListView.setAdapter()抛出IllegalStateException异常

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

当我呼吁我的ExpandableListViewsetAdapter()。有人可以帮我解决这个问题吗? (我已经浪费了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; 
} 

回答