Я работаю над приложением для чата Android, в котором я хочу показать недавно прибывший блок сообщений в верхней части окна повторного просмотра, как это делает WhatsApp. WhatsApp показывает новое сообщение вверху и опускает все остальные блоки чата вниз.
Я сделал что-то, в результате чего я могу показать новый блок чата сообщений вверх, но не могу толкнуть другой блок чата вниз.
Вот мой код:
int readindex = 0;
for (int i = 0; i < messageStackDtoList.size(); i++) {
Log.d("iiiiiiiiii",messageStackDtoList.get(i).getMessageId());
Log.d("iiiiiiiiii",latestObject.getString("messageId"));
if (messageStackDtoList.get(i).getMessageId().equals(latestObject.getString("messageId"))) {
readindex = i;
Toast.makeText(getActivity(),messageStackDtoList.get(i).getMessage(),Toast.LENGTH_SHORT).show();
break;
}
}
messageStackDtoList.set(readindex, new MessageStackDto(latestObject.getString("threadId"), latestObject.getString("messageId"), latestObject.getString("sender"), latestObject.getString("senderId"), latestObject.getString("receiverId"), latestObject.getInt("messageStatus"), latestObject.getString("receiver"), latestObject.getString("message"), latestObject.getString("type"), latestObject.getString("audioUrl"), latestObject.getString("date"), outputData.getInt("newMsgCount"), null));
messageStackAdapter.notifyItemChanged(readindex);
здесь блок, имеющий количество 11, является новым стеком сообщений, скрывающим / переопределяющим другой пользовательский чат, и ниже этого количества 8 блок сообщений является старым.
другой блок чата заменяется новым блоком чата с 11 отсчетом.
Я сделал все возможности, но безрезультатно.