E / RecyclerView: No adapter attached; skipping layout Android 4.4 KitKat

1

I have this error E / RecyclerView: No adapter attached; Skipping layout , but I do not know why. I have read different questions on the same subject, but nothing could help me

On the other hand the error does not show me in Android 5.0, when I compile the code in Android 4.4 this error appears.

This is the code I use, the recyclerview is full when it detects a change the edittext is filled:

EditText txCodeNumber;
public RecyclerView recyclerHarvest;
public RecyclerView.LayoutManager lManager;
public RegisterHarvestAdapter adapterRegister;

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){

rootView  = inflater.inflate(R.layout.register_monitoring, container, false);

txCodeNumber           = (EditText)       rootView.findViewById(R.id.txcodenumber);
recyclerHarvest = (RecyclerView)  rootView.findViewById(R.id.recyclerHarvest);

txCodeNumber.setOnEditorActionListener(new EditText.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {


                String resultUnit = null;
                Cursor cursoQuantity = new PrHarvestParameter(getActivity()).getConvert(txIdUnit.getText().toString(), txIdProduct.getText().toString(), txIdGrade.getText().toString());

                for (cursoQuantity.moveToFirst(); !cursoQuantity.isAfterLast(); cursoQuantity.moveToNext()) {

                    int value = cursoQuantity.getColumnIndex("value");
                    String values = cursoQuantity.getString(value);
                    resultUnit = String.valueOf((1 * Integer.parseInt(values)));

                }

                arrayLand.add(idtxland.getText().toString());
                arrayGrouper.add(txidGrouper.getText().toString());
                arrayProduct.add(txIdProduct.getText().toString());
                arrayVariety.add(txIdVariety.getText().toString());
                arrayGrade.add(txIdGrade.getText().toString());
                arrayDates.add(inputDate.getText().toString());
                arrayUnits.add(txIdUnit.getText().toString());
                arrayQuantityOrigin.add("1");
                arrayQuantity.add(resultUnit);
                arrayUser.add(shareIdUser);
                arrayCode.add(txCodeNumber.getText().toString());


                recyclerHarvest.setHasFixedSize(true);
                lManager = new LinearLayoutManager(getActivity());
                recyclerHarvest.setLayoutManager(lManager);

                final List<ConstructRegisterHarvest> ListComplete = getCursorList(arrayCode, arrayQuantity);
                adapterRegister = new RegisterHarvestAdapter(ListComplete, getActivity());
                recyclerHarvest.setAdapter(adapterRegister);
                recyclerHarvest.setItemAnimator(new DefaultItemAnimator());
                txCodeNumber.setText("");

                contador++;
                txQuantity.setText("" + contador);
            }
            return false;

    });

return rootView;
}

I hope you can help me. Thank you very much!

EDITED

This is the adapter:

public class RegisterHarvestAdapter extends RecyclerView.Adapter<RegisterHarvestAdapter.syncronizationViewHolder> {

    private Context mainContext;
    private List<ConstructRegisterHarvest> items;
    ArrayList<Integer> dataResolve = new ArrayList<>();

    public RegisterHarvestAdapter(List<ConstructRegisterHarvest> items, Context contexto) {
        this.mainContext = contexto;
        this.items = items;
    }

    static class syncronizationViewHolder extends RecyclerView.ViewHolder {


        // Campos respectivos de un item
        protected TextView Code;
        protected TextView Quantity;

        public syncronizationViewHolder(View v) {
            super(v);

            this.Code     = (TextView) v.findViewById(R.id.txCode);
            this.Quantity = (TextView) v.findViewById(R.id.txQuantity);
        }
    }


    @Override
    public syncronizationViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.cardview_register_harvest, parent, false);

        return new syncronizationViewHolder(v);
    }

    @Override
    public void onBindViewHolder(final RegisterHarvestAdapter.syncronizationViewHolder viewHolder, final int position) {
        final ConstructRegisterHarvest item = items.get(position);
        viewHolder.itemView.setTag(item);
        viewHolder.Code.setText("" + item.getCode() );
        viewHolder.Quantity.setText("" + item.getQuantity());
    }


    @Override
    public int getItemCount() {
        return items.size();
    }
}
    
asked by Fabian Sierra 23.06.2017 в 18:03
source

0 answers