이전 게시물로는 제가 만든 어설픈 소스가 제 질문을 물어보기엔 정보가 많이 부족했던거 같았네요.
제가 작성한 소스 구성이 일반적?(정상적이지) 이 못한거 같아 이전 질문이지만 다시 올려봅니다.
도음이 간절합니다. ㅠㅠ
에러 코드 1) No adapter attached; skipping layout
에러 코드 2) attempt to re-open an already-closed object: SQLiteQuery: SELECT * FROM chatdb
에러 코드 3) 2번이 발생되지 않을때 나타 나더군요 Cursor on a null object reference
/// 글자 수 제한으로 일부는 이미지로 올려놓겠습니다. //
메인페이지


RecyclerView 소스 그러니까 messageAdapter 부분입니다.
messageAdapter.class
private static final String TAG = "MessageAdapter";
private Context context;
private Cursor adapterCursor;
private String uid;
private List<ChatModel.Comment> comments = new ArrayList<>();
public MessageAdapter(Context context, Cursor mCursor, String uid) {
this.context = context;
this.adapterCursor = mCursor;
this.uid = uid;
}
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_message,parent,false);
return new MessageViewHolder(view);
}
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
MessageViewHolder messageViewHolder = ((MessageViewHolder)holder);
if (!adapterCursor.moveToPosition(position))
return;
if (adapterCursor.getString(adapterCursor.getColumnIndex(ChatContract.ChatEntry.COLUM_UID)).equals(uid)) {
messageViewHolder.textView_message.setText(adapterCursor.getString(adapterCursor.getColumnIndex(ChatContract.ChatEntry.COLUM_COMMENT)));
....중략...
}
}
}
public class MessageViewHolder extends RecyclerView.ViewHolder {
public TextView textView_message;
....중략......
public TextView right_count;
public MessageViewHolder(View view) {
super(view);
layout_destination = view.findViewById(R.id.messageItem_layout_destination);
.... 중략 ........
}
}
@Override
public int getItemCount() {
int count = adapterCursor.getCount();
return count;
}
public void swqpCursor(Cursor newCursor){
if(String.valueOf(adapterCursor).equals("null")) {
adapterCursor.close();
}
this.adapterCursor = newCursor;
this.notifyDataSetChanged();
}
}
아 그리고 SQliteHelper 부분입니다.
db = ChatDBHelper.getInstance(getApplicationContext());
메인에 요 부분이죠 ..

