2015-01-29 3 views
1

의 크기 MarineModel.javaandroid.database.CursorIndexOutOfBounds : 예외 지수는 -1 6

public Cursor MedicineList() 
{ 
    SQLiteDatabase db = database.getReadableDatabase(); 
    String countQuery ="SELECT * FROM " + TABLE_Marine ; 
    Cursor cursor = db.rawQuery(countQuery, null); 
    Log.e("***********med***", cursor.toString()); 
    cursor.moveToFirst(); 
    return cursor; 
} 

AndroidListViewCursorAdaptorActivity.java

public class AndroidListViewCursorAdaptorActivity extends Activity { 
private MarineModel dbHelper; 
private SimpleCursorAdapter dataAdapter; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.medicinelist); 
    dbHelper = new MarineModel(this); 
    displaymyListView(); 

} 

private void displaymyListView() { 

    Cursor cursor = dbHelper.MedicineList(); 
    String[] columns = new String[]{ 
       MarineModel.B_Name, 
       MarineModel.AvailableQuant 
     }; 

     int[] to = new int[]{ 
       R.id.bname, 
       R.id.quantity 
     }; 


     cursor.moveToFirst(); 
     dataAdapter = new SimpleCursorAdapter(
       getBaseContext(), R.layout.mainlistview, 
       cursor, 
       columns, 
       to, 0); 
     ListView listView = (ListView) findViewById(android.R.id.list); 
     listView.setAdapter(dataAdapter); 
    } 
} 

으로 요청하지만 오류를 얻고있다

android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 6. 

나는 그것을 디버깅하고 반환 된 모든 열 이름을 보여줍니다. 총 10 열 테이블에 있고 2 표시해야합니다. 그래서 모델 부분 또는 CursorAdapter 문제가 있습니다. Pls는 커서가 제대로 닫혀 있는지 확인 :

+0

다음에 도움을주세요 .. – chain

+0

)는 (크기 사용을 위해 우리에게 \t cursor.getCount를 완료 로그 캣 – EagleEye

답변

0
public Cursor MedicineList() 
{ 
    SQLiteDatabase db = database.getReadableDatabase(); 
    String countQuery ="SELECT * FROM " + TABLE_Marine ; 
    Cursor cursor = db.rawQuery(countQuery, null); 
cursor.moveToFirst(); 
    Log.e("***********med***", cursor.toString()); 
    return cursor; 
} 
+0

보기; –

+0

하지만 난 점점 mRowColumnIndex = -1 –