마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 Adapter recyclerView notifyDataSetChanged() 질문드립니다.

0 추천
public void user_chat(DataSnapshot dataSnapshot) {

        Iterator i = dataSnapshot.getChildren().iterator();
        items = new ArrayList<Chat_room>();

        RecyclerView recyclerView=(RecyclerView)findViewById(R.id.activity_recycler);
        LinearLayoutManager layoutManager=new LinearLayoutManager(RandomChatActivityTwo.this);
        recyclerView.setHasFixedSize(true);
        recyclerView.setLayoutManager(layoutManager);

        recyclerView.setAdapter(new AdapterActivity(RandomChatActivityTwo.this,items,R.layout.activity_random_two));

        while (i.hasNext()) {

            chat_msg = String.valueOf(((DataSnapshot) i.next()).getValue());
            chat_user_name = String.valueOf(((DataSnapshot) i.next()).getValue());
           

            items.add(new Chat_room(chat_user_name, chat_msg));

            adt.notifyDataSetChanged(); <- 작동을 안하는 듯 합니다;

        }

-----------------------------------------------------------------
public class AdapterActivity extends RecyclerView.Adapter<AdapterActivity.ViewHolder> {

    Context context;
    List<Chat_room> items;
    int item_layout;

    public AdapterActivity(Context context, List<Chat_room> items, int item_layout) {
        this.context=context;
        this.items=items;
        this.item_layout=item_layout;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v= LayoutInflater.from(parent.getContext()).inflate(R.layout.chat_items,null);
        return new ViewHolder(v);
    }

    //@TargetApi(Build.VERSION_CODES.JELLY_BEAN)

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {

        final Chat_room item=items.get(position);

        holder.name.setText(item.getName()+":"+item.getMsg()+"\n");
    }

 

    @Override
    public int getItemCount() {
        return this.items.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder {

        TextView name;
        TextView msg;

        public ViewHolder(View itemView) {
            super(itemView);

            name=(TextView)itemView.findViewById(R.id.chat_name);
            msg=(TextView)itemView.findViewById(R.id.chat_message);

        }
    }
}

지금 상태는 데이터가 새로 입력되면 전에 있던 채팅창에 있는 텍스트를 덮어버립니다, 새로운 텍스트로 바뀌어버립니다. 저는 채팅창처럼 아래로 쭉 내려오게 하고 싶은데, 어떻게 하면 좋을까요?
알파고 (4,320 포인트) 님이 2017년 7월 14일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...