-1
私はそれを達成するために、Recylerviewからクラスにarraylistを渡したいと思いますか?Recylerviewからクラスにリストを渡す方法
は、ここであなたが実際にperformFiltering法上のArrayListを取得する必要があります私のカスタムフィルタクラス
@Override
protected FilterResults performFiltering(CharSequence constraint) {
FilterResults filterResults=new FilterResults();
if(constraint!=null && constraint.length()>0){
constraint=constraint.toString().toUpperCase();
filterArrayList=new ArrayList<>();
for(int i=0;i<arrayList.size();i++){
if(arrayList.get(i).getId().toUpperCase().contains(constraint)){
filterArrayList.add(arrayList.get(i));
}
}
filterResults.count=filterArrayList.size();
filterResults.values=filterArrayList;
}else{
filterResults.count= arrayList.size();
filterResults.values=arrayList;
}
return filterResults;
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
//Here i want the arraylist from the recylerview without making the arraylist static
// adapter.items= (List<OrderPogo>) results.values;
adapter.notifyDataSetChanged();
}
ここに私の答えを見てください。カスタムアダプタクラスの中にはfilter()というメソッドがあり、それをアクティビティから呼び出すときにArrayListが与えられます。 – vidulaJ
またはそれを静的にしてください:-D –
私はpublishResultsのarraylistを入れます –