如何为Firebase实时数据库添加搜索视图?

时间:2018-02-22 12:50:38

标签: android-layout firebase firebase-realtime-database

我正在使用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;
}

1 个答案:

答案 0 :(得分:1)

根据我的理解,您已经在RecyclerView下载了所有数据,然后您只需实施SearchView并搜索RecyclerView内下载的数据。这已经在这里解释过了:How to filter a RecyclerView with a SearchView