@Override protected void onStart() { super.onStart(); mChatAdapter.notifyDataSetChanged(); mKaaChatManager.addChatListener(this); }
private void sendMessage() { EditText messageTxt = (EditText) findViewById(R.id.txt); if (messageTxt.length() == 0) { return; } InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(messageTxt.getWindowToken(), 0); ReliUser user = MainActivity.user; String s = messageTxt.getText().toString(); final Message message = new Message(s, new Date(), user.getParseID(), user.getFullName()); messagesList.add(message); chatAdapter.notifyDataSetChanged(); messageTxt.setText(null); ParseObject po = new ParseObject(discussionTableName); po.put(Const.COL_MESSAGE_SENDER_ID, user.getParseID()); po.put(Const.COL_MESSAGE_SENDER_NAME, user.getFullName()); po.put(Const.COL_MESSAGE_CONTENT, s); po.saveEventually( new SaveCallback() { @Override public void done(ParseException e) { message.setStatus( (e == null) ? MessageStatus.STATUS_SENT : MessageStatus.STATUS_FAILED); chatAdapter.notifyDataSetChanged(); } }); }
@Override public void onEvent(final ChatEvent chatEvent, String s) { switch (chatEvent.getEventType()) { case CREATE: case DELETE: mChatAdapter.notifyDataSetChanged(); break; default: break; } }