使用Searchview过滤firebase上的数据

时间:2016-08-22 17:14:06

标签: android firebase firebase-realtime-database firebaseui

我正在使用Firebase-UI的@Override。列表工作正常,但我无法在SearchView中实现过滤器。

我的用户数据库: Firebase用户

enter image description here

FirebaseRecyclerAdapter

被修改

我在onQueryTextSubmit上尝试了这个代码,过滤器工作但行为很奇怪。

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;
}

有没有办法更新FirebaseRecyclerAdapter查询? userAdapter.updateQuery()之类的东西?

注意

Android的FirebaseUI适配器尚不支持客户端过滤。添加此请求的请求在this Github issue

中进行跟踪

0 个答案:

没有答案