【发布时间】:2018-12-19 10:36:42
【问题描述】:
您好,请帮忙! 我有 listview 和来自 Firebase 的数据,我想添加搜索栏或 searchView 以从数据 firebase 获取名称电影
【问题讨论】:
-
搜索名称时,列表中出现所有同名数据
标签: android firebase listview firebase-realtime-database android-adapter
您好,请帮忙! 我有 listview 和来自 Firebase 的数据,我想添加搜索栏或 searchView 以从数据 firebase 获取名称电影
【问题讨论】:
标签: android firebase listview firebase-realtime-database android-adapter
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
DatabaseReference query = mDatabase.child("Movies");
query.orderByChild("name").startAt(searchText);
query.addListenerForSingleValueEvent(
new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot messageSnapshot: dataSnapshot.getChildren()) {
String name = (String) messageSnapshot.child("name").getValue();
Log.d("TAG", "name is :"+name);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
【讨论】:
onDataChange 中记录您的数据,请查看我更新后的答案...在您必须设置的列表中显示数据
要解决这个问题,您需要使用如下所示的查询:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.child("Movies").orderByChild("name").startAt(name).endAt(name + "\uf8ff");
query.addListenerForSingleValueEvent(/* ... */);
【讨论】:
DataSnapshot对象中获取数据。