我需要实现一个基于EditText
到我的RecyclerView
的搜索功能。输入时必须过滤列表。
下面是代码:
显示适配器.java这是适配器
public class DisplayAdapter extends RecyclerView.Adapter<DisplayAdapter.MyViewHolder>{
private List<DataHolder> displayedList;
public class MyViewHolder extends RecyclerView.ViewHolder{
public TextView english_d;
public MyViewHolder(View view){
super(view);
english_d = (TextView) view.findViewById(R.id.engword);
}
}
public DisplayAdapter(List<DataHolder> displayedList){
this.displayedList = displayedList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int position) {
// create a layout
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
DataHolder content = displayedList.get(position);
holder.english_d.setText(content.getEnglish());
}
@Override
public int getItemCount() {
return displayedList.size();
}
}
数据容器.java
public class DataHolder {
private String english;
public DataHolder() {
}
public DataHolder(String english, String german) {
this.english = english;
}
public String getEnglish() {
return english;
}
public void setEnglish(String english) {
this.english = english;
}
}
这是我正在研究的片段
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_two_fragment, container, false);
rv = (RecyclerView) view.findViewById(R.id.list_view_english);
rv.setHasFixedSize(true);
inputSearch = (EditText) view.findViewById(R.id.inputSearch);
rv.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
final LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
rv.setLayoutManager(layoutManager);
DisplayContent();
disp_adapter = new DisplayAdapter(displayedList);
rv.setAdapter(disp_adapter);
return view;
}
8条答案
按热度按时间j1dl9f461#
在适配器中添加更新列表的新函数
add textWatcher for search假设您使用Edittext作为搜索字段
简单过滤功能
带着"黄油刀"
mxg2im7a2#
我已经这样做了
.XMl文件
.JAVA类文件
循环视图适配器
}
在同一类中添加回收器视图适配器以避免混淆....
cidc1ykv3#
我们可以在Recyclerview中应用搜索功能,如下所示。这可以100%正常工作。我已经在按钮点击时实现了它。它可以在EditText的textchangeListner回调方法中使用。
其中,fliterIcon是图像按钮,服务适配器是适配器。
dxxyhpgq4#
实施
SearchView.OnQueryTextListener
在适配器类中:
l5tcr1uw5#
在我的例子中,我创建了一个可以重用的基本适配器。
像这样使用它。
在片段内部,像往常一样膨胀菜单,然后在onCreateOptionsMenu中...
crcmnpdw6#
ttp71kqs7#
在Android中使用Kotlin搜索RecyclerView的过滤器:-
在XML中使用此编辑文本:-
lnlaulya8#
1.菜单代码
1.功能代码
私有void进程文本(字符串文本){
}