首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查值是否为空

问检查值是否为空
EN

Stack Overflow用户
提问于 2018-05-24 10:50:08
回答 1查看 53关注 0票数 0

在我的应用程序中,注册用户成功地添加了对文章的评论。

例如,请看这张截图。

​

​

现在我想在回收视图中阅读并显示这些评论。在此之前,我想检查一下这篇文章是否有评论。如果没有,那么我应该使文本视图可见,说没有评论该特定的文章。新闻(我从Google获得)没有ids,所以我使用newsTitle,如图所示。

这是我写的代码。

代码语言:javascript
复制
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) {

        }
    });


  }
}

然而,我总是了解到,即使是有评论的文章,也没有任何评论。如何做一个好的查询,检查是否有注释?

谢谢,

西奥。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-24 10:58:12

您需要查询中文章的orderByChild('newsTitle')。就这样把它修好:

代码语言:javascript
复制
Query query = mDatabase.child("comments").orderByChild("newsTitle").equalTo(newsTitle);

上面的代码将与您给定值的newsTitle文件相匹配。

您的代码试图进行查询,但没有定义条件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50507447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档