강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

9naknak8님의 프로필 이미지
9naknak8

작성한 질문수

안드로이드 채팅 앱 관련 질문입니다!

작성

·

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

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
9naknak8님의 프로필 이미지
9naknak8

작성한 질문수

질문하기