2017-01-07 15 views
6

Sadece bir geri dönüştürücü görünümü yaptım ve çalışma değildi, bu yüzden getItemCount üzerinde bir kesme noktası koydu ve yöntem çağrılmıyor. O konuda başka kimseyi daha önce hiç görmemiştim, eminim ki bu çok açık bir şey. İşte benim kodum.Recycler getItemCount'u görüntülemiyor getItemCount

public class SearchAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { 

private ArrayList<Object> displayList; 

public static class ViewHolder extends RecyclerView.ViewHolder { 
    public ViewHolder(View v) { 
     super(v); 
    } 
} 

public class ErrorSearchItem extends ViewHolder { 
    //this is here if there is no other viewholder 

    public ErrorSearchItem(View view) { 
     super(view); 

    } 
} 

public class HeaderViewHolder extends ViewHolder { 


    public HeaderViewHolder(View view) { 
     super(view); 

    } 
} 



@Override 
public int getItemViewType(int position) { 

    return position; 
} 

public SearchAdapter(ArrayList<Object> displayList) { 
    this.displayList = displayList; 
} 

@Override 
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    if (displayList.get(viewType) instanceof String){ 
     View itemView = LayoutInflater.from(parent.getContext()) 
       .inflate(R.layout.row_search_title, parent, false); 
     return new HeaderViewHolder(itemView); 
    } 
    else{ //this is for if there is an error and no other xml files match 
     View itemView = LayoutInflater.from(parent.getContext()) 
       .inflate(R.layout.row_error_search_item, parent, false); 
     return new ErrorSearchItem(itemView); 
    } 
} 

@Override 
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { 

} 


@Override 
public int getItemCount() { 

    return displayList.size(); 
} 

@Override 
public void onAttachedToRecyclerView(RecyclerView recyclerView) { 
    super.onAttachedToRecyclerView(recyclerView); 

} 

} 

düzenleme: parça kodu:

private RecyclerView recyclerView; 
private SearchAdapter searchAdapter; 

recyclerView = (RecyclerView) v.findViewById(R.id.recycler_view); 

    searchAdapter = new SearchAdapter(categorizedArray); 
    recyclerView.setItemAnimator(new DefaultItemAnimator()); 
    recyclerView.setAdapter(searchAdapter); 
+0

Geri dönüşümcü görüntüleme başlangıç ​​kodunuzu gönderir misiniz? –

+0

emin sadece ekledim, tbh aslında hiç bir zaman orada olabilir düşünülmüş olabilir –

+9

Geri dönüştürücünüz için herhangi bir 'Layout 'ayarladınız mı? Örneğin. 'recyclerView.setLayoutManager (düzen)' – Jiyeh

cevap

2

Ben Tamamen saçmalık biliyorum ama wrap_content için match_parent gelen RecylerView layout_width ve layout_height özelliği değişince benim için sorun çözüldü !!.

+0

Hileler zamanımı kurtardı. Bu zorunlu sarma içeriğinin neden açıklanmadığını anlayamıyorum – mg3

İlgili konular