private List<SQLiteHelper> messages = new ArrayList<>();
mAdapter = new MessagesAdapter(messages);
messageList.setAdapter(mAdapter);
mAdapter.notifyDataSetChanged();
onStart
while (csr.moveToNext()) {
String mSender = csr.getString(csr.getColumnIndex(KEY_SENDER));
String mMessage = csr.getString(csr.getColumnIndex(KEY_MESSAGE));
long mTime = csr.getLong(csr.getColumnIndex(KEY_TIME));
String mSeen = csr.getString(csr.getColumnIndex(KEY_SEEN));
String mTimer = csr.getString(csr.getColumnIndex(KEY_TIMER));
String mType = csr.getString(csr.getColumnIndex(KEY_TYPE));
messages.add(new SQLiteHelper(mSender, mMessage, mType, mSeen, mTimer, mTime));
}
onCreate
FirebaseRecyclerOptions<SQLiteHelper> options =
new FirebaseRecyclerOptions.Builder<SQLiteHelper>()
.setQuery(mFetchingMessages, SQLiteHelper.class)
.build();
firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<SQLiteHelper, Chat.MessagesViewHolder>(options) {
final DatabaseReference mTimeReference = FirebaseDatabase.getInstance().getReference().child("Messages").child(MessageSenderId).child(MessageRecieverId);
Query messageQuery = mTimeReference.limitToLast(10);
messageQuery.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
SQLiteHelper message = dataSnapshot.getValue(SQLiteHelper.class);
messages.add(message);
messageList.scrollToPosition(messagesList.size() - 1);
}
}
Я только что включил основные части.Оба Arraylists используют один и тот же класс помощников.Один - это firebaserecycleradapter, извлекающий данные из firebase, а другой - данные fSQLitelite.Отображаются только данные базы данных, а не SQLite.Может ли кто-нибудь помочь мне с этим, чтобы данные SQLite отображались в верхней части, а база данных под ними?Где я ошибся
Таблица и данные существуют