具有条件的 Firebase UI 中的空行?

Empty Row in Firebase UI with Condition?

我在使用 FirebaseUI 时遇到 Firebase 问题。当条件不是 true.

时,它会添加不需要的空行

我需要删除这个空白行。

这是图像显示问题:

 DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReferenceFromUrl("*****");
     FirebaseListAdapter<Opinions> firebaseListAdapter = new FirebaseListAdapter<Opinions>(this,Opinions.class,android.R.layout.two_line_list_item,databaseReference) {
         @Override
         protected void populateView(View v, Opinions model, int position) {
             TextView textView1 = (TextView) v.findViewById(android.R.id.text1);
             TextView textView2 = (TextView) v.findViewById(android.R.id.text2);

             Typeface Myfont = Typeface.createFromAsset(getAssets(), "font/gernralfont.ttf");

             textView1.setTypeface(Myfont);
             textView2.setTypeface(Myfont);
             textView2.setTextSize(17);
             textView2.setTextColor(Color.parseColor("#6eaafc"));
             textView1.setTextColor(Color.parseColor("#4d70a0"));

             if (model.isApproval() == true)
             {
                 textView1.setText( "\n" + model.getStu_name() + " / " + model.getStu_feild() + "\n" );
                 textView2.setText(model.getStu_comment() + "\n");
             }



         }
     };

    hilist.setAdapter(firebaseListAdapter);

如何删除这个空行?

您的应用当前正在读取该位置的所有 数据。但是由于您只对显示已批准的数据感兴趣,因此您应该只读取那些子节点。

您可以使用 Firebase Database query 执行此操作,然后您可以将其传递到适配器而不是当前引用:

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReferenceFromUrl("*****");
Query query = databaseReference.orderByChild("approval").equalTo(true);
FirebaseListAdapter<Opinions> firebaseListAdapter = 
  new FirebaseListAdapter<Opinions>(this, Opinions.class,
                                    android.R.layout.two_line_list_item, query) {
  ...