从Firebase实时数据库检索特定数据到文本视图

时间:2018-10-14 12:32:46

标签: android firebase-realtime-database

Snapshot of firebase data collection

当用户按名称搜索植物时。我想从数据库中提取该数据。例如当用户搜索“向日葵”时,我的应用应在“文本视图”中显示该特定花朵的价格。谢谢

1 个答案:

答案 0 :(得分:0)

DatabaseReference readDb = db.getReference("Your Chanel Name");
    readDb.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            list.clear();
            for (DataSnapshot messageSnapshot : dataSnapshot.getChildren()) {
                list.add(messageSnapshot.getKey());
                listView.setAdapter(adapter);
            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
        }
    });

将数据放入列表中。并在搜索时使用以下代码

search.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            adapter.getFilter().filter(s);
            adapter.notifyDataSetChanged();
        }

        @Override
        public void afterTextChanged(Editable s) {

        }
    });

您还可以获取单击的项目的值。

final String value = adapter.getItem(position);