2016-11-03 3 views
-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(); 
} 
+0

내 대답보기. Custom Adapter 클래스에는 filter()라는 메서드가 있으며 Activity에서 호출 할 때 ArrayList를 제공합니다. – vidulaJ

+0

또는 그냥 정적 : - D –

+0

난 publraResults에 arraylist 싶어 –

답변

0

입니다. 목록을 여과 한 후, 마지막에 당신은

filterResults.values = yourList; 
filterResults.count = yourList.size(); 

등을 쓸 수 있습니다 다음

return filterResults 

당신은 액세스

result.values 

최선의 방법을 통해 publishResults 방법에 필터링 된 결과 목록을 가져 Filter 클래스 내의 arrayList는 RecycleView 내에 Filter 클래스를 생성하는 것입니다.

관련 문제