如何解决在类chat.getReceiver上发现的Receiver的错误设置器/字段显示为null
我正在创建一个聊天应用程序,但该消息显示在火警基地中,但未显示在屏幕上,这是我的代码在if条件不起作用的情况下出现错误,因为chatReceiver显示为null,但不应该这样吗?这是我的messageActivity代码:
private void readMessage(final String myid,final String userid,final String imageurl){
mchats= new ArrayList<>();
ref=FirebaseDatabase.getInstance().getReference("Chats");
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
mchats.clear();
for(DataSnapshot snapshot:dataSnapshot.getChildren()){
Chats chat=snapshot.getValue(Chats.class);
System.out.println("test3");
if( (chat.getReceiver()!=null&&chat.getSender()!=null &&chat.getReceiver().equals(myid)&&chat.getSender().equals(userid))||
( chat.getSender()!=null&&chat.getReceiver()!=null && chat.getReceiver().equals(userid)&&chat.getSender().equals(myid))){
mchats.add(chat);
}
messageadapter=new messageAdapter(MessageActivity.this,mchats,"default");
rv1.setAdapter(messageadapter);
}
}
解决方法
在layoutManager
的xml中添加RecyclerView
:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:padding="@dimen/margin_small"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:listitem="@layout/item_your_item_layout" />
您以编程方式添加
rv1.setLayoutManager(new LinearLayoutManager(this));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。