Android - Umsetzung Suchfilter, um ein RecyclerView
Ich brauche eine Suchfunktion zu implementieren, feature, basierend auf einer EditText zu meinem RecyclerView muss die Liste gefiltert werden, während typng
Hier der code :
DisplayAdapter.java dies ist der adapter
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();
}
}
DataHolder.java
public class DataHolder {
private String english;
public DataHolder() {
}
public DataHolder(String english, String norse) {
this.english = english;
}
public String getEnglish() {
return english;
}
public void setEnglish(String english) {
this.english = english;
}
}
und hier ist das Fragment, ich arbeite mit :
@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;
}
github.com/Wrdlbrnft/Searchable-RecyclerView-Demo. Finden Sie das für durchsuchbare Recycler Ansehen und wenn Sie möchten, eine ausführliche Anleitung finden Sie in diesem studytutorial.in/android-search-to-recyclerview-tutorial
InformationsquelleAutor Thorvald Ólavsen V. | 2016-11-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
in den adapter fügen Sie neue Funktion zum aktualisieren der Liste
hinzufügen textWatcher für die Suche können sagen, Sie sind mit Edittext als Suchfeld
Einfache filter-Funktion
Mit Butterknife
if(d.getEnglish().equal(text)){ temp.add(d); }
änderungif(d.getEnglish().contains(text)){ temp.add(d); }
Dank dude geklappt, nur d....getName().toLowerCase().enthält(text.toLowerCase()) bekommen würde eindeutige Ergebnisse Dank
es ist die Arbeit. [stackoverflow.com/users/3319074/zeroone](@ZeroOne)
Das ist großartig. Aber ich wollte nur wissen, ist diese Methode effizient ist, oder mit Filterbaren ist effizient. Aber ich sehe nicht, jeder zurück ziehen, die in dieser Methode auch. Dank
InformationsquelleAutor ZeroOne
Diese die Ihnen helfen könnten. Es hat die Mittel zur Schaffung einer RecyclerView mit einem SearchView zum filtern der Elemente der RecyclerView.
InformationsquelleAutor San
ich habe getan, wie diese
.XMl-Datei
.JAVA-Klasse-Datei
Recyclerview adapter
}
hinzufügen recycler-Ansicht-adapter in der gleichen Klasse um Verwirrung zu vermeiden....
InformationsquelleAutor Kishor N R