В моем приложении зарегистрированный пользователь может успешно оставлять комментарии.Теперь в моем коде я делаю проверку.Если в заголовке конкретной новости есть комментарий, заполните заполненный вид.Если нет, тогда отобразите текстовое представление, говорящее, эй, нет никаких комментариев.Однако вместо итогов отображается только один комментарий.
Это проверка, о которой я говорил.
Query query = mDatabase.child("comments").orderByChild("newsTitle").equalTo(newsTitle);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
for(DataSnapshot dataSnapshots : dataSnapshot.getChildren()){
Comment comment = dataSnapshots.getValue(Comment.class);
//mUserDatabase = FirebaseDatabase.getInstance().getReference().child("Users").child(userId);
commentArrayList.add(comment);
mRecyclerView.setAdapter(displayCommentsAdapter);
displayCommentsAdapter = new DisplayCommentsAdapter(getApplication(),commentArrayList);
displayCommentsAdapter.notifyDataSetChanged();
//displayCommentsAdapter.setCommentsData(commentArrayList);
Log.d(LOG_TAG, "commentArrayList size: " + String.valueOf(commentArrayList.size()));
}
//commentsTextView.setVisibility(View.VISIBLE);
}else{
//Toast.makeText(DisplayComments.this,"There are no comments posted",Toast.LENGTH_LONG).show();
noCommentsTextView.setVisibility(View.VISIBLE);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Log.d(LOG_TAG, "commentArrayList size: " +
String.valueOf(commentArrayList.size()));
успешно возвращает размерсписка массивов.то есть.10 комментариев размер ArrayList равен 10. Так что эта часть хороша.
LogCat также дает мне другое сообщение.
E/RecyclerView: No adapter attached; skipping layout
Возможно, это как-то связано с моей текущей проблемой.
Обнаружено действие DisplayComments здесь .
И мой код адаптера здесь .
Файл single_comment_row.xml здесь
Спасибо,
Тео.