인프런 커뮤니티 질문&답변
안드로이드 채팅 앱 관련 질문입니다!
작성
·
170
0
유튜브 채팅 앱 개발 클론 코딩을 하던 중에 파이어베이스를 연결한 뒤 계속 앱이 강제 종료 되서 ㅠㅠ 도대체 어디가 문제인가 한 줄 한 줄 찾아보던 중에 원인인 코드를 발견했는데 왜 강제 종료가 되는지 도저히 알 길이 없어서 이렇게 질문 올립니다 ㅠㅠ
아래 코드에서 ((MessageViewHolder)holder).textView_message.setText(comments.get(position).message);
이 친구를 주석 처리하면 정상 작동하는데 주석 해제하면 강제 종료가 되요
ㅠㅠㅠ 왜그런 걸까요
class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
List<ChatModel.Comment> comments;
public RecyclerViewAdapter() {
comments = new ArrayList<>();
FirebaseDatabase.getInstance().getReference().child("chatrooms").child(chatRoomUid).child("comments").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
comments.clear();
for(DataSnapshot item : dataSnapshot.getChildren()){
comments.add(item.getValue(ChatModel.Comment.class));
}
notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.v("dsfad","fdsafdas");
}
});
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_message,parent,false);
return new MessageViewHolder(view);
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
((MessageViewHolder)holder).textView_message.setText(comments.get(position).message);
}
@Override
public int getItemCount() {
int a = comments.size();
Log.d("fdsa", String.valueOf(a));
return comments.size();
}
private class MessageViewHolder extends RecyclerView.ViewHolder {
public TextView textView_message;
public MessageViewHolder(View view) {
super(view);
textView_message = (TextView) view.findViewById(R.id.messageItem_textView_message);
}
}
}
답변
답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!




