Android База данных Firebase в реальном времени с обзором - PullRequest
1 голос
/ 15 апреля 2020

Привет, я создаю экран чата, в котором я группирую чаты по дате, например, WhatsApp, но для группировки данных мне нужно рендерить данные, поэтому я использовал setReverseLayout на моем приемнике и Коллекции .reverse (myChats) для обратного просмотра данных, а также setStackFromEnd , чтобы при поступлении нового сообщения оно оставалось в нижней части, но, к сожалению, при прокрутке чатов оно не переходило в нижнюю часть, а при новой - не прокручивалось в нижнюю часть. сообщение выскакивает. Может кто-нибудь сказать мне, что не так в моем коде

Мой код

 //Init Varibles
ArrayList<Message> myChats = new ArrayList<Message>();
private RecyclerView recyclerView;
private RecyclerView.Adapter mAdapter;
private LinearLayoutManager layoutManager;
private Boolean isUpdate = false; 


// OnCreate
recyclerView = (RecyclerView) findViewById(R.id.messages);
recyclerView.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(this);
layoutManager.setReverseLayout(true);
layoutManager.setStackFromEnd(true);
recyclerView.setLayoutManager(layoutManager);
mAdapter = new MessageAdoptor(myChats,getApplicationContext());
recyclerView.setAdapter(mAdapter);


// On Data Change
myChats.clear();
myChats.addAll(myChatsTemp);
Collections.reverse(myChats);
mAdapter.notifyDataSetChanged();

Решение

 recyclerView.smoothScrollToPosition(0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...