当用户按名称搜索植物时。我想从数据库中提取该数据。例如当用户搜索“向日葵”时,我的应用应在“文本视图”中显示该特定花朵的价格。谢谢
答案 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);