В моем приложении зарегистрированный пользователь успешно добавляет комментарии к статьям.
Например, смотрите этот скриншот.
Теперь я хочу прочитать и отобразить эти комментарии в обзоре переработчика.Перед этим я хочу проверить, есть ли комментарии к конкретной статье.Если нет, то я должен сделать texview видимым, говоря, что нет никаких комментариев для этой конкретной статьи.У новостей (которые я получаю от Google News Api) нет идентификаторов, поэтому вместо этого я использовал newsTitle, как показано на рисунке.
Я написал этот код.
public class DisplayComments extends AppCompatActivity {
ArrayList<Comment> commentArrayList;
Toolbar mToolbar;
private DatabaseReference mDatabase;
private Intent i;
private String newsTitle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_comments);
mToolbar = (Toolbar) findViewById(R.id.display_comments_app_bar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("Display Comments");
mDatabase = FirebaseDatabase.getInstance().getReference();
commentArrayList = new ArrayList<>();
i = getIntent();
newsTitle = i.getStringExtra("newsTitle");
mDatabase = FirebaseDatabase.getInstance().getReference();
String userId = FirebaseAuth.getInstance().getCurrentUser().getUid();
mDatabase = FirebaseDatabase.getInstance().getReference();
Query query = mDatabase.child("comments").child("newsTitle").equalTo(newsTitle);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
Toast.makeText(DisplayComments.this,"There are comments posted",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(DisplayComments.this,"There are no comments posted",Toast.LENGTH_LONG).show();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
Тем не менее, я всегда получаю Нет комментариев даже для статей с комментариями.Как сделать хороший запрос, который проверяет, есть ли комментарии или нет?
Спасибо,
Тео.