전에 개발하던 프로젝트에서, 리스트뷰에 출력할 수 있는 뷰를 늘리기 위해

조금 개조했습니다. 전에 쓰던 코드에서, 커스텀 어댑터 하나 추가했을 뿐인데 오류가 뜹니다.

 

05-18 13:51:53.158: D/AndroidRuntime(755): Shutting down VM
05-18 13:51:53.158: W/dalvikvm(755): threadid=1: thread exiting with uncaught exception (group=0x40015560)
05-18 13:51:53.178: E/AndroidRuntime(755): FATAL EXCEPTION: main
05-18 13:51:53.178: E/AndroidRuntime(755): java.lang.IllegalStateException: database not open
05-18 13:51:53.178: E/AndroidRuntime(755):  at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1526)
05-18 13:51:53.178: E/AndroidRuntime(755):  at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1426)
05-18 13:51:53.178: E/AndroidRuntime(755):  at com.example.Team10.SQLiteAdapter.insert(SQLiteAdapter.java:74)
05-18 13:51:53.178: E/AndroidRuntime(755):  at com.example.Team10.TableActivity.HttpPostData(TableActivity.java:156)
05-18 13:51:53.178: E/AndroidRuntime(755):  at com.example.Team10.TableActivity$3.onClick(TableActivity.java:90)

insert가 실행되는쪽 코드는

else if(cnt==7) {
               cnt=0;
               long id = mDbHelper.insert(number,title,picture,location,body,yes,no);
                if (id > 0) {
                       mRowId = id;
                       currentId = id;NodeNumber++;
                   }               

}

public long insert(String number, String title, String picture, String location, String body, String yes, String no) {
        ContentValues Values = new ContentValues();
        Values.put(KEY_ROWID, number);
        Values.put(KEY_TITLE, title);
        Values.put(KEY_PICTURE, picture);
        Values.put(KEY_LOCATION, location);
        Values.put(KEY_BODY, body);
        Values.put(KEY_YES, yes);
        Values.put(KEY_NO, no);
        return mDb.insert(DATABASE_TABLE, null, Values);
}

 

대강 이렇습니다. 뭐가 문제일까요?

심지어 전에 쓰던 코드는 close를 안했는데도, 저런 문제가 안생겼습니다.