使用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);
如何删除此空行?
答案 0 :(得分:3)
您的应用是当前正在阅读该位置的所有数据。但是,由于您只对显示已批准的数据感兴趣,因此您应该只读取这些子节点。
您可以使用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) {
...