【发布时间】:2018-12-20 07:36:12
【问题描述】:
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);
}
}
我刚刚包含了主要部分。两个 Arraylist 都使用相同的 Helper 类。一个是从 firebase 获取数据的 firebaserecycleradapter,另一个是从 fSQLitelite 获取数据。仅显示 firebase 数据,而不显示 SQLite。有人可以帮我解决这个问题,以便 SQLite 数据显示在顶部和下面的 firebase 中吗?我哪里错了
表和数据存在
【问题讨论】:
-
首先检查从数据库中填充数据时列表的大小是多少?
-
列表大小不为空@Piyush
标签: java android database sqlite firebase