Получение ошибки NullPointerException при замене элемента swapCursor из моей базы данных sqlite - PullRequest
0 голосов
/ 14 марта 2020

Всякий раз, когда я пытаюсь обновить свой RecyclerView после удаления элемента из моей базы данных, я получаю сообщение об ошибке:

java.lang.NullPointerException: Attempt to invoke virtual method 'void com.example.ctdc.RecylerViewAdapter.notifyDataSetChanged()' on a null object reference
        at com.example.ctdc.DatabaseHelper1.removeRecord(DatabaseHelper1.java:168)

DatabaseHelper1

public void removeRecord(long id) {
        SQLiteDatabase db = this.getWritableDatabase();
        db.delete("record_table", "ID=?", new String[]{String.valueOf(id)});
        mAdapter.swapCursor(getAllRecord());
    }

public Cursor getAllRecord(){
        return db.query(
                DatabaseHelper1.TABLE_NAME,
                null,
                null,
                null,
                null,
                null,
                DatabaseHelper1.COL_1 + " DESC"
        );
    }

RecyclerViewAdapter

public void swapCursor(Cursor newCursor) {
        if (mCursor != null) {
            mCursor.close();
        }
        else {
            Log.d(TAG, "swapCursor: null");
        }

        mCursor = newCursor;

        if (newCursor != null) {
            notifyDataSetChanged();
        }
        else {
            Log.d(TAG, "swapCursor: null");
        }
    }

Элемент все еще удаляется после того, как я снова открываю приложение

...