「SimpleCursorAdapter NotesAdapter = new SimpleCursorAdapter(this, R.layout.manage_notes_noteitem_layout,)」という行にヒットすると、Android がクラッシュし続ける
Adapter 用に別のクラスを作成するなど、あらゆる種類の変更を試みましたが、Adapter クラスにも問題があることがわかりました。それは「これ」/コンテキストか、カスタムレイアウトと関係があります。私は確信が持てず、答えを探し回っています。
前もって感謝します。
String[] columns = new String[] {
NotesAdapter.KEY_NoteTitle,
NotesAdapter.KEY_Created,
NotesAdapter.KEY_NoteText,
};
// the XML defined views which the data will be bound to
int[] to = new int[] {
R.id.note_title,
R.id.note_datedcreated,
R.id.note_details,
};
// create the adapter using the cursor pointing to the desired data
//as well as the layout information
SimpleCursorAdapter NotesAdapter = new SimpleCursorAdapter(
this, R.layout.manage_notes_noteitem_layout,
C,
columns,
to,
0);
NotesAdapter クラスの更新:
public class NotesAdapter extends DBAdapter
{
public static final String KEY_NoteID = "NoteID";
public static final String KEY_NoteTitle = "NoteTitle";
public static final String KEY_NoteText = "NoteText";
public static final String KEY_Created = "Created";
private static final String DATABASE_TABLE = "notes";
public NotesAdapter(Context ctx) {
super(ctx);
}
public long create(String NoteID, String NoteTitle, String NoteText, String Created) {
ContentValues args = new ContentValues();
args.put(KEY_NoteID,NoteID);
args.put(KEY_NoteTitle,NoteTitle);
args.put(KEY_NoteText,NoteText);
args.put(KEY_Created,Created);
return mDb.insert(DATABASE_TABLE, null,args);
}
public boolean delete(String RowID) {
return mDb.delete(DATABASE_TABLE, KEY_NoteID + "=" + RowID, null) > 0;
}
public Cursor fetchAll() {
return mDb.query(DATABASE_TABLE, new String[] {KEY_NoteID, KEY_NoteTitle, KEY_NoteText, KEY_Created}, null, null, null, null, null);
}
public Cursor fetch(long rowId) throws SQLException {
Cursor mCursor =
mDb.query(true, DATABASE_TABLE, new String[] {KEY_NoteID, KEY_NoteTitle, KEY_NoteText, KEY_Created}, KEY_NoteID + "=" + rowId, null,
null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
}
編集:トーストを使用してテストしたため、カーソルは有効な値を返します。