0

「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;
}

}

編集:トーストを使用してテストしたため、カーソルは有効な値を返します。

4

0 に答える 0