4
我想在填充了Firebase数据库中的数据的listview片段中实现Android Searchview功能。Firebase数据上的Android Searchview
代码来获取火力地堡数据
mPOIAdapter = new FirebaseListAdapter<Poi>(
getActivity(),
Poi.class,
R.layout.item_layout_poi,
FirebaseDatabase.getInstance().getReference("poi").orderByChild("name")) {
@Override
protected void populateView(View v, Poi model, int position) {
TextView pointsText = (TextView) v.findViewById(R.id.poi_textview);
pointsText.setText(model.getName());
TextView pointDescr = (TextView) v.findViewById(R.id.poi_building);
pointDescr.setText(model.getDescription());
}
};
mPOIListView.setAdapter(mPOIAdapter);
搜索查看代码:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.options_menu,menu);
MenuItem item = menu.findItem(R.id.search);
item.setVisible(true);
SearchView searchView = (SearchView) item.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
}
我想用这样的代码基于用户的输入来过滤列表视图项
searchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
getListAdapter().getFilter().filter(s);
return true;
}
});
因为FirebaseListAdapter与ListAdapter不具有相同的可能性,所以i ca不要使用getListAdapter().getFilter().filter(s)
有没有办法使用的搜索功能填充火力地堡数据列表视图片段的另一种方式
HII布伦特,我有同样的问题。你有没有找到解决办法?如果是的话,请在这里更新你的答案。先谢谢你。 –