RecyclerView внутри RecyclerView без подключенного адаптера - PullRequest
0 голосов
/ 21 июня 2020

У меня есть фрагмент, и в этом фрагменте все заказы перечислены в RecyclerView. Если пользователь нажимает на заказ или строку в RecyclerView, открывается всплывающее окно. В этом всплывающем окне подробно показаны все заказы. Картинка должна прояснять текст. PopUp работал до сих пор. К сожалению, не заполняется второй RecyclerView. Ошибка:

E/RecyclerView: No adapter attached; skipping layout

В чем может быть проблема? Заранее благодарим.

Pi c чтобы показать, что я имею в виду

UserBestellAdapter

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

    ArrayList<Bestellung> bestellung;
    Context mContext;
    Dialog epicDialog;
    UserBestellAdapter.ViewHolder viewHolder;
    ArrayList<ModelOverviewOrder> orderList;
    RecyclerView recyclerView;

    public UserBestellAdapter(Context context, ArrayList<Bestellung> list) {
        mContext = context;
        bestellung = list;
        epicDialog = new Dialog(mContext);
    }

    @NonNull
    @Override
    public UserBestellAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(mContext).inflate(R.layout.adapter_bestell, parent, false);
         viewHolder = new UserBestellAdapter.ViewHolder(view);


        return viewHolder;
    }
    @NonNull

    @Override
    public void onBindViewHolder(@NonNull UserBestellAdapter.ViewHolder holder, final int position) {
      //Gesamtpreis:   holder.item_betrag.setText(String.valueOf(bestellung.get(position).getBetrag()));
      // Datum:   holder.item_datum.setText(bestellung.get(position).getDatum());
        holder.item_items.setText(bestellung.get(position).getProdukte());
        //holder.item_code.setText(bestellung.get(position).getBestellnummer());
        String bestellid =bestellung.get(position).getBestellnummer() + "";
        holder.item_code.setText(bestellid);
        holder.item_betrag.setText(Double.toString(bestellung.get(position).getSumme()));
        holder.item_datum.setText(bestellung.get(position).getDatum());


        // POPUP OPEN WORKS BUT NOT THE FILLING OF THE RecyclerView
        holder.layout_user_bestellung.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                LayoutInflater inflater = LayoutInflater.from(mContext); //current Context object
                View dialogView = (View) inflater.inflate(R.layout.user_popup_order_overview, null);

                epicDialog.setContentView(dialogView);



                //orderList = new ArrayList<>();
                //orderList.add(new ModelOverviewOrder("Toast", "5", "6.0"));

                //OrderOverviewAdapter adapter = new OrderOverviewAdapter(mContext, orderList);
                //recyclerView.setAdapter(adapter);

                //recyclerView.setLayoutManager(rvLayoutManager);*/

                recyclerView  = (RecyclerView) dialogView.findViewById(R.id.recyclerview_order_scroll);
                LinearLayoutManager layoutManager = new LinearLayoutManager(mContext);
                RecyclerView.LayoutManager rvLayoutManager = layoutManager;

                orderList = new ArrayList<>();
                OrderOverviewAdapter adapter = new OrderOverviewAdapter(mContext, orderList);
                recyclerView.setAdapter(adapter);
                recyclerView.setLayoutManager(rvLayoutManager);
                orderList.add(new ModelOverviewOrder("Toast", "5", "6.0"));
                adapter.notifyDataSetChanged();

                TextView order_overview_number = view.findViewById(R.id.order_overview_number);
                System.out.println("------>" + order_overview_number);
                epicDialog.setContentView(R.layout.user_popup_order_overview);
                epicDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
                Button btn_order_overview_finish = (Button) epicDialog.findViewById(R.id.btn_order_overview_finish);
                //System.out.println(bestellung.get(position).getBestellnummer());
                getBestellung(bestellung.get(position).getBestellnummer());
                btn_order_overview_finish.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        epicDialog.dismiss();
                    }

                });
                epicDialog.show();


            }
        });


    }

     




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

    public static class ViewHolder extends RecyclerView.ViewHolder {
        private TextView item_items, item_betrag, item_datum, item_code;
        private ConstraintLayout layout_user_bestellung;


        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            item_items = itemView.findViewById(R.id.items);
            item_betrag = itemView.findViewById(R.id.betrag);
            item_datum = itemView.findViewById(R.id.datum);
            item_code = itemView.findViewById(R.id.code);
            layout_user_bestellung = itemView.findViewById(R.id.layout_user_bestellung);
        }
    }
}
...