Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检测到firebase数据库更改时,“我的活动”转到上一个活动_Java_Android_Database_Firebase_Fragment - Fatal编程技术网

Java 检测到firebase数据库更改时,“我的活动”转到上一个活动

Java 检测到firebase数据库更改时,“我的活动”转到上一个活动,java,android,database,firebase,fragment,Java,Android,Database,Firebase,Fragment,这是包含recyclerView的片段,它导致聊天活动 public class FragmentBusinessHome extends Fragment { /* For to do adapter */ private List<String> namesToDo; private List<String> uids; private List<String> servicesNames; private AdapterToDo adapterToDo;

这是包含recyclerView的片段,它导致聊天活动

public class FragmentBusinessHome extends Fragment {
/* For to do adapter */
private List<String> namesToDo;
private List<String> uids;
private List<String> servicesNames;
private AdapterToDo adapterToDo;
private RecyclerView toDoRecyclerView;

/* For checking requests adapter */
private List<String> userUids;
private List<String> serviceNames;
private List<String> userNames;
private AdapterPendingRequests adapterPendingRequests;
private RecyclerView pendingRequestsRecyclerView;

private FirebaseAuth mAuth;

public FragmentBusinessHome(){

}

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_business_home, container, false);

    mAuth = FirebaseAuth.getInstance();

    namesToDo = new ArrayList<>();
    uids = new ArrayList<>();
    servicesNames = new ArrayList<>();

    userUids = new ArrayList<>();
    serviceNames = new ArrayList<>();
    userNames = new ArrayList<>();

    toDoRecyclerView = view.findViewById(R.id.toDoRecyclerView);
    pendingRequestsRecyclerView = view.findViewById(R.id.requestsToApproveRecyclerView);

    LinearLayoutManager layoutManagerActive = new LinearLayoutManager(getActivity());
    layoutManagerActive.setStackFromEnd(true);
    layoutManagerActive.setReverseLayout(true);
    toDoRecyclerView.setLayoutManager(layoutManagerActive);

    LinearLayoutManager layoutManagerPendingRequests = new LinearLayoutManager(getActivity());
    layoutManagerPendingRequests.setStackFromEnd(true);
    layoutManagerPendingRequests.setReverseLayout(true);
    pendingRequestsRecyclerView.setLayoutManager(layoutManagerPendingRequests);


    String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();

    DatabaseReference checkRequests = FirebaseDatabase.getInstance().getReference("Providers").child(uid).child("Gigs");
    checkRequests.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for (DataSnapshot ds : dataSnapshot.getChildren()) {
                if (ds.getValue(String.class).equals("active")) {
                    DatabaseReference getRequests = FirebaseDatabase.getInstance().getReference("Services").child(ds.getKey()).child(uid).child("Gigs").child("pending");
                    getRequests.addValueEventListener(new ValueEventListener() {
                        @Override
                        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                            serviceNames.clear(); userNames.clear(); userUids.clear();
                            for (DataSnapshot data : dataSnapshot.getChildren()) {
                                String userName = data.child("names").getValue(String.class);
                                String serviceName = ds.getKey();
                                String userUid = data.getKey();

                                userNames.add(userName);
                                serviceNames.add(serviceName);
                                userUids.add(userUid);

                                adapterPendingRequests = new AdapterPendingRequests(getActivity(), userUids, userNames, serviceNames, mAuth.getCurrentUser().getUid());
                                adapterPendingRequests.notifyDataSetChanged();
                                pendingRequestsRecyclerView.setAdapter(adapterPendingRequests);
                            }
                        }

                        @Override
                        public void onCancelled(@NonNull DatabaseError databaseError) {

                        }
                    });
                    DatabaseReference getActive = FirebaseDatabase.getInstance().getReference("Services").child(ds.getKey()).child(uid).child("Gigs").child("active");
                    getActive.addValueEventListener(new ValueEventListener() {
                        @Override
                        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                            userUids.clear(); namesToDo.clear(); servicesNames.clear();
                            for(DataSnapshot datas : dataSnapshot.getChildren()){
                                String userUid = datas.getKey();
                                String userName = datas.child("names").getValue(String.class);
                                String serviceName = ds.getKey();

                                userUids.add(userUid);
                                namesToDo.add(userName);
                                servicesNames.add(serviceName);

                                Log.d("TAG", userUids.toString());

                                adapterToDo = new AdapterToDo(getActivity(), namesToDo, userUids, servicesNames);
                                adapterToDo.notifyDataSetChanged();
                                toDoRecyclerView.setAdapter(adapterToDo);

                                if(!userUids.isEmpty()){
                                    LinearLayout toDoLayout = view.findViewById(R.id.toDoLayout);
                                    toDoLayout.setVisibility(View.VISIBLE);
                                }
                            }
                        }

                        @Override
                        public void onCancelled(@NonNull DatabaseError databaseError) {

                        }
                    });
                }
            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });



    return view;
}
}
这是片段的适配器

public class AdapterToDo extends RecyclerView.Adapter<AdapterToDo.MyHolder> {
Context context;
List<String> namesToDo;
List<String> uids;
List<String> servicesNames;

public AdapterToDo(Context context, List<String> namesToDo, List<String> uids, List<String> servicesNames) {
    this.context = context;
    this.namesToDo = namesToDo;
    this.uids = uids;
    this.servicesNames = servicesNames;
}

@NonNull
@Override
public AdapterToDo.MyHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

    View view = LayoutInflater.from(context).inflate(R.layout.to_do_item, parent, false);

    return new AdapterToDo.MyHolder(view);
}

@Override
public void onBindViewHolder(@NonNull final AdapterToDo.MyHolder holder, final int position) {
    holder.userNames.setText(namesToDo.get(position));
    String currentUid = uids.get(position);
    String currentOppositeName = namesToDo.get(position);

    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent to_chat_activity = new Intent(context, ChatActivity.class);
            to_chat_activity.putExtra("oppositeUid", currentUid);
            to_chat_activity.putExtra("oppositeNames", currentOppositeName);
            to_chat_activity.putExtra("class", getClass().getName());
            context.startActivity(to_chat_activity);
        }
    });
}

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

class MyHolder extends RecyclerView.ViewHolder {

    private TextView userNames;

    private MyHolder(@NonNull View itemView) {
        super(itemView);

        userNames = itemView.findViewById(R.id.userNames);
    }
}
}
公共类适配器Todo扩展了RecyclerView.Adapter{
语境;
列出待办事项;
列出UID;
列出服务名称;
公共适配器TODO(上下文上下文、列表名称TODO、列表UID、列表服务名称){
this.context=上下文;
this.namesToDo=namesToDo;
this.uids=uids;
this.servicesNames=servicesNames;
}
@非空
@凌驾
public AdapterToDo.MyHolder onCreateViewHolder(@NonNull ViewGroup父级,int viewType){
视图=布局更平坦。从(上下文)。充气(R.layout.to_do_项目,父项,false);
返回新适配器Todo.MyHolder(视图);
}
@凌驾
BindViewHolder上的公共无效(@NonNull final AdapterToDo.MyHolder,final int位置){
holder.userNames.setText(namesToDo.get(position));
字符串currentUid=uids.get(位置);
字符串currentObjectItemName=namesToDo.get(位置);
holder.itemView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意图聊天活动=新意图(上下文,ChatActivity.class);
to_chat_activity.putExtra(“对立uid”,currentUid);
to_chat_activity.putExtra(“对立名称”,current对立名称);
to_chat_activity.putExtra(“class”,getClass().getName());
上下文。开始活动(聊天活动);
}
});
}
@凌驾
public int getItemCount(){
返回uids.size();
}
类MyHolder扩展了RecyclerView.ViewHolder{
私有文本视图用户名;
私有MyHolder(@NonNull View itemView){
超级(项目视图);
userNames=itemView.findviewbyd(R.id.userNames);
}
}
}
这就是片段的适配器指向的活动

private String oppositeUid, oppositeNames, className;
private TextView oppositeNamesTextView;
private Button sendBtn;
private EditText message;
private FirebaseAuth mAuth;
private RecyclerView recyclerView;
private List<ModelChat> modelChatList;
private AdapterChat chatAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_chat);

    mAuth = FirebaseAuth.getInstance();

    Intent intent = getIntent();
    oppositeUid = intent.getStringExtra("oppositeUid");
    oppositeNames = intent.getStringExtra("oppositeNames");
    className = intent.getStringExtra("class");
    Log.d("CLASSNAME", className);

    modelChatList = new ArrayList<>();

    oppositeNamesTextView = findViewById(R.id.oppositeNames);
    sendBtn = findViewById(R.id.sendBtn);
    message = findViewById(R.id.message);

    recyclerView = findViewById(R.id.chatRecyclerView);
    LinearLayoutManager linearLayout = new LinearLayoutManager(this);
    linearLayout.setStackFromEnd(true);
    recyclerView.setLayoutManager(linearLayout);

    oppositeNamesTextView.setText(oppositeNames);

    sendBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            final String mMessage = message.getText().toString().trim();
            if(!TextUtils.isEmpty(mMessage)){
                HashMap<Object, String> hashMap = new HashMap<>();
                hashMap.put("sender", mAuth.getCurrentUser().getUid());
                hashMap.put("receiver", oppositeUid);
                hashMap.put("message", mMessage);
                hashMap.put("timestamp", String.valueOf(System.currentTimeMillis()));

                if(className.equals("com.example.uploy.AdapterToDo$1")){
                    DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Providers").child(mAuth.getCurrentUser().getUid()).child("Chats").child(oppositeUid);
                    databaseReference.push().setValue(hashMap).addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                            message.setText("");
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            Toast.makeText(ChatActivity.this, "An error occurred!", Toast.LENGTH_SHORT).show();
                        }
                    });

                    DatabaseReference databaseReference1 = FirebaseDatabase.getInstance().getReference("Users").child(oppositeUid).child("Chats").child(mAuth.getCurrentUser().getUid());
                    databaseReference1.push().setValue(hashMap).addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                            message.setText("");
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            Toast.makeText(ChatActivity.this, "An error occurred!", Toast.LENGTH_SHORT).show();
                        }
                    });
                }else{
                    DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Providers").child(oppositeUid).child("Chats").child(mAuth.getCurrentUser().getUid());
                    databaseReference.push().setValue(hashMap).addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                            message.setText("");
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            Toast.makeText(ChatActivity.this, "An error occurred!", Toast.LENGTH_SHORT).show();
                        }
                    });

                    DatabaseReference databaseReference1 = FirebaseDatabase.getInstance().getReference("Users").child(mAuth.getCurrentUser().getUid()).child("Chats").child(oppositeUid);
                    databaseReference1.push().setValue(hashMap).addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                            message.setText("");
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            Toast.makeText(ChatActivity.this, "An error occurred!", Toast.LENGTH_SHORT).show();
                        }
                    });
                }
            }
        }
    });

    if(className.equals("com.example.uploy.AdapterToDo$1")){
        DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Providers").child(mAuth.getCurrentUser().getUid()).child("Chats").child(oppositeUid);
        databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                modelChatList.clear();
                for(DataSnapshot snapshot : dataSnapshot.getChildren()){
                    if(snapshot.getKey().equals("details")){
                        continue;
                    }
                    ModelChat modelChat = snapshot.getValue(ModelChat.class);
                    modelChatList.add(modelChat);
                    chatAdapter = new AdapterChat(ChatActivity.this, modelChatList);
                    chatAdapter.notifyDataSetChanged();
                    recyclerView.setAdapter(chatAdapter);
                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
    }else{
        DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Users").child(mAuth.getCurrentUser().getUid()).child("Chats").child(oppositeUid);
        databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                modelChatList.clear();
                for(DataSnapshot snapshot : dataSnapshot.getChildren()){
                    if(snapshot.getKey().equals("details")){
                        continue;
                    }
                    ModelChat modelChat = snapshot.getValue(ModelChat.class);
                    modelChatList.add(modelChat);
                    chatAdapter = new AdapterChat(ChatActivity.this, modelChatList);
                    chatAdapter.notifyDataSetChanged();
                    recyclerView.setAdapter(chatAdapter);
                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
    }
}

@Override
public void onBackPressed() {
    super.onBackPressed();
    Log.d("TAG", "PRESSED");
}
私有字符串oppositeUid、oppositeNames、className;
私有TextView反对名称TextView;
私人按钮发送;
私人短信;
私人消防队;
私人回收站;
私有列表;
专用适配器chat-adapter;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u chat);
mAuth=FirebaseAuth.getInstance();
Intent=getIntent();
oppositieUID=intent.getStringExtra(“oppositieUID”);
oppositeNames=intent.getStringExtra(“oppositeNames”);
className=intent.getStringExtra(“类”);
Log.d(“CLASSNAME”,CLASSNAME);
modelChatList=newarraylist();
oppositeNamesTextView=findViewById(R.id.oppositeNames);
sendBtn=findviewbyd(R.id.sendBtn);
message=findviewbyd(R.id.message);
recyclerView=findViewById(R.id.chatRecyclerView);
LinearLayoutManager linearLayout=新的LinearLayoutManager(此);
线性布局。setStackFromEnd(真);
recyclerView.setLayoutManager(线性布局);
反对派名称TextView.setText(反对派名称);
sendBtn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
最后一个字符串mMessage=message.getText().toString().trim();
如果(!TextUtils.isEmpty(mMessage)){
HashMap HashMap=新的HashMap();
put(“发件人”,mAuth.getCurrentUser().getUid());
hashMap.put(“接收者”,对立uid);
hashMap.put(“消息”,mMessage);
put(“timestamp”,String.valueOf(System.currentTimeMillis());
if(className.equals(“com.example.uploy.AdapterToDo$1”)){
DatabaseReference DatabaseReference=FirebaseDatabase.getInstance().getReference(“提供者”).child(mAuth.getCurrentUser().getUid()).child(“聊天室”).child(对立UID);
databaseReference.push().setValue(hashMap).addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公开作废(作废避免){
message.setText(“”);
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(ChatActivity.this,“发生错误!”,Toast.LENGTH_SHORT.show();
}
});
DatabaseReference databaseReference1=FirebaseDatabase.getInstance().getReference(“用户”).child(对立UID).child(“聊天”).child(mAuth.getCurrentUser().getUid());
databaseReference1.push().setValue(hashMap).addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公开作废(作废避免){
message.setText(“”);
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(ChatActivity.this,“发生错误!”,Toast.LENGTH_SHORT.show();
}
});
}否则{
DatabaseReference DatabaseReference=FirebaseDatabase.getInstance().getReference(“提供者”).child(对立uid.child(“聊天”).child(mAuth.getCurrentUser().getUid());
databaseReference.push().setValue(hashMap).addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公开作废(作废避免){
message.setText(“”);
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(ChatActivity.this)是一个
private String oppositeUid, oppositeNames, className;
private TextView oppositeNamesTextView;
private Button sendBtn;
private EditText message;
private FirebaseAuth mAuth;
private RecyclerView recyclerView;
private List<ModelChat> modelChatList;
private AdapterChat chatAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_chat);

    mAuth = FirebaseAuth.getInstance();

    Intent intent = getIntent();
    oppositeUid = intent.getStringExtra("oppositeUid");
    oppositeNames = intent.getStringExtra("oppositeNames");
    className = intent.getStringExtra("class");
    Log.d("CLASSNAME", className);

    modelChatList = new ArrayList<>();

    oppositeNamesTextView = findViewById(R.id.oppositeNames);
    sendBtn = findViewById(R.id.sendBtn);
    message = findViewById(R.id.message);

    recyclerView = findViewById(R.id.chatRecyclerView);
    LinearLayoutManager linearLayout = new LinearLayoutManager(this);
    linearLayout.setStackFromEnd(true);
    recyclerView.setLayoutManager(linearLayout);

    oppositeNamesTextView.setText(oppositeNames);

    sendBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            final String mMessage = message.getText().toString().trim();
            if(!TextUtils.isEmpty(mMessage)){
                HashMap<Object, String> hashMap = new HashMap<>();
                hashMap.put("sender", mAuth.getCurrentUser().getUid());
                hashMap.put("receiver", oppositeUid);
                hashMap.put("message", mMessage);
                hashMap.put("timestamp", String.valueOf(System.currentTimeMillis()));

                if(className.equals("com.example.uploy.AdapterToDo$1")){
                    DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Providers").child(mAuth.getCurrentUser().getUid()).child("Chats").child(oppositeUid);
                    databaseReference.push().setValue(hashMap).addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                            message.setText("");
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            Toast.makeText(ChatActivity.this, "An error occurred!", Toast.LENGTH_SHORT).show();
                        }
                    });

                    DatabaseReference databaseReference1 = FirebaseDatabase.getInstance().getReference("Users").child(oppositeUid).child("Chats").child(mAuth.getCurrentUser().getUid());
                    databaseReference1.push().setValue(hashMap).addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                            message.setText("");
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            Toast.makeText(ChatActivity.this, "An error occurred!", Toast.LENGTH_SHORT).show();
                        }
                    });
                }else{
                    DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Providers").child(oppositeUid).child("Chats").child(mAuth.getCurrentUser().getUid());
                    databaseReference.push().setValue(hashMap).addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                            message.setText("");
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            Toast.makeText(ChatActivity.this, "An error occurred!", Toast.LENGTH_SHORT).show();
                        }
                    });

                    DatabaseReference databaseReference1 = FirebaseDatabase.getInstance().getReference("Users").child(mAuth.getCurrentUser().getUid()).child("Chats").child(oppositeUid);
                    databaseReference1.push().setValue(hashMap).addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                            message.setText("");
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            Toast.makeText(ChatActivity.this, "An error occurred!", Toast.LENGTH_SHORT).show();
                        }
                    });
                }
            }
        }
    });

    if(className.equals("com.example.uploy.AdapterToDo$1")){
        DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Providers").child(mAuth.getCurrentUser().getUid()).child("Chats").child(oppositeUid);
        databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                modelChatList.clear();
                for(DataSnapshot snapshot : dataSnapshot.getChildren()){
                    if(snapshot.getKey().equals("details")){
                        continue;
                    }
                    ModelChat modelChat = snapshot.getValue(ModelChat.class);
                    modelChatList.add(modelChat);
                    chatAdapter = new AdapterChat(ChatActivity.this, modelChatList);
                    chatAdapter.notifyDataSetChanged();
                    recyclerView.setAdapter(chatAdapter);
                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
    }else{
        DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Users").child(mAuth.getCurrentUser().getUid()).child("Chats").child(oppositeUid);
        databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                modelChatList.clear();
                for(DataSnapshot snapshot : dataSnapshot.getChildren()){
                    if(snapshot.getKey().equals("details")){
                        continue;
                    }
                    ModelChat modelChat = snapshot.getValue(ModelChat.class);
                    modelChatList.add(modelChat);
                    chatAdapter = new AdapterChat(ChatActivity.this, modelChatList);
                    chatAdapter.notifyDataSetChanged();
                    recyclerView.setAdapter(chatAdapter);
                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
    }
}

@Override
public void onBackPressed() {
    super.onBackPressed();
    Log.d("TAG", "PRESSED");
}