¿Por onCreateView en mi adaptador RecyclerView no se llama?

Razvan Misu Costescu:

Así que tengo una RecyclerViewdentro de otra RecyclerView. Y en mi onBind()método en el recyclerView1que estoy tratando de establecer los datos para recyclerView2, el hecho es que recyclerView1tiene una FirebaseRecyclerAdaptery recyclerView2tiene una costumbre RecyclerAdaptery el onCreate()método en el recyclerView2's adapterque nunca se llama, por lo que el conjunto de datos es buena, pero no crea mi recyclerView2en la interfaz este reciclador está vacía.

Pongo un punto de interrupción en el OrderViewHolder onCreateViewHoldery que sólo se salta este.

Aquí está el código de los recyclerView2's adapter onCreatey onBindmétodos:

 adapterReceivedCommands = new FirebaseRecyclerAdapter<Comanda, ReceivedCommandsViewHolder>(optionsReceivedCommands) {

        @NonNull
        @Override
        public ReceivedCommandsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            View itemView = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.item_command,parent,false);
            layoutManagerOrder = new GridLayoutManager(parent.getContext(),3);
            orderRecycler = (RecyclerView) itemView.findViewById(R.id.order_recycler);
            orderRecycler.setLayoutManager(layoutManagerOrder);
            fragmentItem = (LinearLayout)itemView.findViewById(R.id.item_layout);
            return new ReceivedCommandsViewHolder(itemView);


        }

        @Override
        protected void onBindViewHolder(@NonNull final ReceivedCommandsViewHolder receivedCommandsViewHolder, int i, @NonNull final Comanda comanda) {


            receivedCommandsViewHolder.tableNmb.setText(comanda.getmasa());
            orderModelArrayList = comanda.getcomanda();
            mAdaptor = new RecyclerViewAdapter(this, orderModelArrayList);
            receivedCommandsViewHolder.recyclerView.setAdapter(mAdaptor);
        }


    };
    adapterReceivedCommands.startListening();
    receivedCommandsRecycler.setAdapter(adapterReceivedCommands);

    return view;
}

Y aquí está el código de la costumbre recyclerView2's adapter:

 public class RecyclerViewAdapter extends RecyclerView.Adapter<OrderViewHolder>{

private ArrayList<OrderModel> orderModels = new ArrayList<OrderModel>();
private FirebaseRecyclerAdapter<Comanda, ReceivedCommandsViewHolder> context;

public RecyclerViewAdapter(FirebaseRecyclerAdapter<Comanda, ReceivedCommandsViewHolder> context, ArrayList<OrderModel> orderModels) {
    this.orderModels = orderModels;
   this.context = context;
}

@NonNull
@Override
public OrderViewHolder onCreateViewHolder(@NonNull ViewGroup parent, final int viewType) {
    View view = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.item_order,parent,false);
    OrderViewHolder holder = new OrderViewHolder(view);


    return holder;
}

@Override
public void onBindViewHolder(@NonNull OrderViewHolder holder, int position) {
    OrderModel curentModel = orderModels.get(position);
            holder.cantitateTxt.setText(curentModel.getCantitate().toString());
            holder.comandaTxt.setText(curentModel.getDenumireProdus());
}

@Override
public int getItemCount() {
    return 0;
}
Ryan Mentley:

Su número de elementos es cero:

@Override
public int getItemCount() {
    return 0;
}

Por lo tanto RecyclerView, no ve ningún artículo para inflar. Usted debe fijarla para devolver el tamaño de su lista:

@Override
public int getItemCount() {
    return orderModels.size();
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=280461&siteId=1
Recomendado
Clasificación