잘 사용하다 소스 새로 개편하면서 작업중인데 Cursor 에러가 납니다.
mCursor = db.getAllChat();
messageAdapter.swqpCursor(mCursor);
messageAdapter = new MessageAdapter(MessageActivity.this, mCursor, uid);
recyclerView.setAdapter(messageAdapter);
messageAdapter.notifyItemChanged(10);
recyclerView.scrollToPosition(mCursor.getCount()-1);
mCursor.close();
messageAdapter.swqpCursor(mCursor);
문제가 되는 구간 입니다.
mCursor 만 for문을 돌려 들어가 있는 값을 획인해보면 분명 다 있는데 왜 null 에러가 나는거죠??
cursor 사용 전 moveToFirest를 하라는 내용도 보고 했는데 원인을 찾지 못해 도움을 구합니다.
답답한건 이전에 잘 사용하던 소스인데 제가 수정하면서 탈이 났습니다 ㅠ
딱히 저게 뭔가 복잡한 다른 소스들과 연결되어 작동하는거도 아니고 db 에서 받아와 cursor에 담아
옮기는 과정인데 뭘까요? 저부분 삭제하고 db 작동 확인해보면 db는 저장은 잘 됩니다.
getAllchat에는 별거 없이 전체 내용 긁어오는 게 전부입니다. 그걸 리턴 받는거고요. 도움의 손길이 필요합니다 ㅠ
return db.rawQuery("SELECT * FROM " + ChatContract.ChatEntry.TABLE_NAME,null);
public void swqpCursor(Cursor newCursor){
if(mCursor!=null) {
mCursor.close();
}
this.mCursor = newCursor;
this.notifyDataSetChanged();
}