Ich habe gerade eine Recycler-Ansicht gemacht und es hat nicht funktioniert, also habe ich einen Haltepunkt auf getItemCount gesetzt und die Methode wird nicht aufgerufen. Ich habe noch nie jemanden anderen gesehen, der dieses spezielle Thema hat, ich bin mir sicher, dass es etwas lächerlich Offensichtliches ist. Hier ist mein Code.Recycler-Ansicht nicht aufrufen 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);
}
}
edit: Fragment Code:
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);
Konnten Sie Ihren Recycleransichtinitialisierungscode posten? –
sicher gerade hinzugefügt es, tbh ich tatsächlich nie in Betracht gezogen, das Problem könnte dort sein –
Haben Sie ein Layout für Ihre RecyclerView? Z.B. 'recyclerView.setLayoutManager (Layout)' – Jiyeh