Razvan三須Costescu:
私が持っているので、RecyclerView
別の内部をRecyclerView
。そして、私の中onBind()
での方法recyclerView1
私は、データを設定しようとしていますrecyclerView2
が、実際はそれがあるrecyclerView1
持っているFirebaseRecyclerAdapter
とrecyclerView2
カスタムしているRecyclerAdapter
とonCreate()
のメソッドrecyclerView2
のは、adapter
データセットが良いですので、呼び出されることはありませんが、それは私が作成していないrecyclerView2
インタフェースにこのリサイクルは空です。
私は上のブレークポイントを入れてOrderViewHolder onCreateViewHolder
、それだけで、これをスキップします。
ここからのコードであるrecyclerView2
のadapter
onCreate
とonBind
方法は:
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;
}
そして、ここでカスタムのコードであるrecyclerView2
のは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;
}
ライアンMentley:
あなたのアイテム数はゼロです。
@Override
public int getItemCount() {
return 0;
}
だから、RecyclerView
膨らませるためにすべての項目が表示されません。あなたはあなたのリストのサイズを返すためにそれを修正する必要があります。
@Override
public int getItemCount() {
return orderModels.size();
}