我正在使用Firebase实时数据库开发一个Android应用程序。我使用RecyclerView
创建了Cardview
,并希望在工具栏中为所有数据创建SearchView
。请帮我解决这个问题。
这是我的适配器文件
public class RecycleAdepter extends RecyclerView.Adapter<RecycleAdepter.MyViewHolder> {
ArrayList<Blog> arrayList=new ArrayList<>();
RecycleAdepter(ArrayList<Blog> arrayList)
{
this.arrayList=arrayList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.bank_row,parent,false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.Title.setText(arrayList.get(position).getTitle());
}
@Override
public int getItemCount() {
return arrayList.size();
}
public static class MyViewHolder extends RecyclerView.ViewHolder{
TextView Title;
public MyViewHolder(View itemView) {
super(itemView);
Title=(TextView) itemView.findViewById(R.id.Idiom_title);
}
}
public void setFilter(ArrayList<Blog> newList)
{
这是我的主要活动的搜索代码
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_search, menu);
MenuItem menuItem = menu.findItem(R.id.searchbar);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(menuItem);
searchView.setOnQueryTextListener(this);
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
答案 0 :(得分:1)
根据我的理解,您已经在RecyclerView
下载了所有数据,然后您只需实施SearchView
并搜索RecyclerView
内下载的数据。这已经在这里解释过了:How to filter a RecyclerView with a SearchView