firebase 채팅을 만들었습니다. 메시지를 표시하려면 RecyclerView
과 CardViews
이 사용됩니다. RecyclerView.Adapter
의 OnBindViewHolder
메서드 내에서 CardView
중력을 변경하려고하므로 보낸 사람 메시지는 한쪽에 있고 다른 쪽은 다른 쪽 (WhatsApp)에있게됩니다. 여기이 처음 RecyclerView가 동기화되지 않습니다.
에 대한 메시지를로드 할 때 잘 작동하지만 난 그래도 스크롤하거나 새 메시지를 보낼으로 동기화 간다
public void onBindViewHolder(ViewHolder holder, int position) {
final MessageItem messageItem = messageItems.get(position);
holder.name.setText(messageItem.getSenderName());
holder.message.setText(messageItem.getMessage());
if(messageItem.getFrom() == new UserLocalStore(context).getUserDetails().getId()){
holder.linearLayout.setGravity(Gravity.RIGHT);
}
}
무엇 이럴 수 있니? 나는 onViewAttachedToWindow
과 onViewRecycled
메쏘드 안에서 중력을 업데이트하려고 시도했다.
당신은 당신의 onBind의 다른 절을 필요로 스크롤 할 때보기를 재활용하기 때문에 다른 사람의 왼쪽 중력을 설정해야이 코드를 변경 ...을 설정합니다 보기가 재활용되기 때문에 왼쪽에서부터 왼쪽으로. – Naveed
고마워요, 작동했습니다 – MLPJ