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布倫特,我有同樣的問題。你有沒有找到解決辦法?如果是的話,請在這裏更新你的答案。先謝謝你。 –