The app crashes as soon as i press button to send message via firebase. I dont know how to fix this error. I tried alot but it won't stop crashing.
I have 2 layout files and those are list_item2.xml and listitem_chatbox.xml.
I have project submission tonight, so any help real soon will be highly appreciated, Thnkyou
public class MainActivityChat extends AppCompatActivity{
private static int SIGN_IN_REQUEST_CODE=1;
Query query = FirebaseDatabase.getInstance()
        .getReference()
        .child("chats")
        .limitToLast(50);
FirebaseRecyclerOptions<ChatMessage> options =
        new FirebaseRecyclerOptions.Builder<ChatMessage>()
                .setQuery(query, ChatMessage.class)
                .build();
private FirebaseListAdapter<ChatMessage> adapter;
RelativeLayout listitem_chatbox;
FloatingActionButton fab;
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if(item.getItemId() == R.id.nav_logout)
    {
        AuthUI.getInstance().signOut(this).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
           Snackbar.make(listitem_chatbox, "YOU HAVE BEEN LOGGED OUT", Snackbar.LENGTH_SHORT).show();
           finish();
            }
        });
    }
    return true;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == SIGN_IN_REQUEST_CODE)
    {
        Snackbar.make(listitem_chatbox, "SUCCESSFULLY SIGNED IN, WELCOME!", Snackbar.LENGTH_SHORT).show();
        displayChatMessage();
    }
    else
    {
        Snackbar.make(listitem_chatbox, "SIGN IN FAILED, TRY LATER!!", Snackbar.LENGTH_SHORT).show();
        finish();
    }
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.listitem_chatbox);
    listitem_chatbox = (RelativeLayout)findViewById(R.id.listitem_chatbox);
    fab= (FloatingActionButton)findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            EditText input= (EditText)findViewById(R.id.input);
            FirebaseDatabase.getInstance().getReference().push().setValue(new ChatMessage(input.getText().toString(),
                    FirebaseAuth.getInstance().getCurrentUser().getEmail()));
            input.setText(" ");
        }
    });
    if(FirebaseAuth.getInstance().getCurrentUser()==null)
    {
        startActivityForResult(AuthUI.getInstance().createSignInIntentBuilder().build(), SIGN_IN_REQUEST_CODE);
    }
    else
    {
        Snackbar.make(listitem_chatbox, "WELCOME" + FirebaseAuth.getInstance().getCurrentUser().getEmail(), Snackbar.LENGTH_SHORT).show();
        //display content
        displayChatMessage();
    }
}
private void displayChatMessage() {
      RecyclerView RV = (RecyclerView) findViewById(R.id.rv_numbers);
      LinearLayoutManager LLM = new LinearLayoutManager(this);
      RV.setLayoutManager(LLM);
      RV.setHasFixedSize(true);
    class ChatHolder extends RecyclerView.ViewHolder
                {
        TextView messageText, messageUser, messageTime;
        public ChatHolder(View itemView) {
            super(itemView);
            messageText = (TextView) findViewById(R.id.message_text);
            messageUser = (TextView) findViewById(R.id.message_user);
            messageTime = (TextView) findViewById(R.id.message_time);
        }
    }
    FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<ChatMessage, ChatHolder>(options) {
        @Override
        public ChatHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            // Create a new instance of the ViewHolder, in this case we are using a custom
            // layout called R.layout.message for each item
            View view = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.list_item2, parent, false);
            return new ChatHolder(view);
        }
        @Override
        protected void onBindViewHolder(ChatHolder holder, int position, ChatMessage model) {
            // Bind the Chat object to the ChatHolder
            // ...
            holder.messageText.setText(model.getMessageText());
            holder.messageUser.setText(model.getMessageUser());
            holder.messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)", model.getMessageTime()));
        }
        @Override
        public int getItemCount() {
            return super.getItemCount();
        }
    };
    RV.setAdapter(adapter);
}
}
 
    