我已经创建了这个数据库,在此处输入图像描述,并希望显示专门针对儿童可用性的列表:“可用”项目。通过这段代码,我几乎达到了目标public class Homeuser extends AppCompatActivity {SharedPreferences preferences;SharedPreferences.Editor editor;ListView lv;FirebaseListAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_homeuser); final Vibrator vibeuser = (Vibrator) Homeuser.this.getSystemService(Context.VIBRATOR_SERVICE); preferences = PreferenceManager.getDefaultSharedPreferences(this); editor = preferences.edit(); Query query = FirebaseDatabase.getInstance().getReference().child("food"); lv = findViewById(R.id.list_item); FirebaseListOptions<food> options = new FirebaseListOptions.Builder<food>() .setLayout(R.layout.list_items).setLifecycleOwner(Homeuser.this) .setQuery(query,food.class).build(); adapter = new FirebaseListAdapter(options) { @Override protected void populateView(View v, Object model, int position) { TextView itemname, itemprice, avail; itemname = v.findViewById(R.id.itemname); itemprice = v.findViewById(R.id.itemprice); avail = v.findViewById(R.id.avail); food itemFood = (food) model; if(itemFood.getAvailability().toString().equals("Available")){ itemname.setText(itemFood.getFooditemname().toString()); itemprice.setText(itemFood.getFooditemprice().toString()); avail.setText(itemFood.getAvailability().toString());} } };}}但是面临这样的问题:在此处输入图片描述如何摆脱这个?谢谢。
1 回答
慕标琳琳
TA贡献1830条经验 获得超9个赞
如果你想过滤 Firebase 数据库记录,你应该在你的方法中使用查询whereEqual()
和调用而不是if 语句。populateView()
所以要解决这个问题,请更改以下代码行:
Query query = FirebaseDatabase.getInstance().getReference().child("food");
到
Query query = FirebaseDatabase.getInstance().getReference() .child("food") .orderByChild("availability") .equalTo("Available");
并删除 if 语句。
添加回答
举报
0/150
提交
取消