k4k*_*sh1 9 android firebase firebase-realtime-database firebaseui
我正在使用FirebaseRecyclerAdapterFirebase-UI.列表工作正常,但我无法在SearchView中实现过滤器.
我的用户数据库: Firebase用户
private DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("users");
private RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
recyclerView = (RecyclerView) findViewById(R.id.rv);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setHasFixedSize(true);
UserAdapter userAdapter = new UserAdapter(
User.class,
R.layout.user,
UserAdapter.UserViewHolder.class,
reference
);
recyclerView.setAdapter(userAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_activity, menu);
MenuItem item = menu.findItem(R.id.search);
searchView = (SearchView) MenuItemCompat.getActionView(item);
searchView.setOnQueryTextListener(this);
}
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
// ???
return true;
}
Run Code Online (Sandbox Code Playgroud)
编辑
我在onQueryTextSubmit上尝试了这个代码,过滤器工作但行为奇怪.
UserAdapter userAdapter = new UserAdapter(
User.class,
R.layout.user,
UserAdapter.UserViewHolder.class,
reference.orderByChild("name").startAt(newText.toUpperCase());
);
recyclerView.setAdapter(userAdapter);
return true;
Run Code Online (Sandbox Code Playgroud)
有没有办法更新FirebaseRecyclerAdapter查询?userAdapter.updateQuery()或类似的东西?
注意
适用于Android的FirebaseUI适配器尚不支持客户端过滤.在Github问题中跟踪了添加此请求的请求.
| 归档时间: |
|
| 查看次数: |
3304 次 |
| 最近记录: |