0

i'm just setup my RecyclerView but there's not appear in my emulator & there is error "E/RecyclerView: No adapter attached; skipping layout" Could you guys help me to find my failure?

This is my application layout :

Click here to see my application layout view

StockContent.Java (Fragment) :

package com.example.psmandroidapps;

import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.cardview.widget.CardView;
import androidx.core.graphics.drawable.RoundedBitmapDrawable;
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.GradientDrawable;
import android.media.Image;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.Toast;
import android.widget.Toolbar;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;

public class StockContent extends Fragment {

    RecyclerView StockRecyclerView;
    List<ModalClass> mList;
    CustomAdapter customAdapter;

    public StockContent() {
        // Required empty public constructor
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View stockview = inflater.inflate(R.layout.stock_content, container, false);

        StockRecyclerView = stockview.findViewById(R.id.StockRecyclerView);

        customAdapter = new CustomAdapter(mList,getContext());
        StockRecyclerView.setAdapter(customAdapter);
        StockRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

        return stockview;
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //just for sample only
        
        mList = new ArrayList<>();
        mList.add(new ModalClass(R.drawable.profilepicture,"Mitsubishi S-N50"));
        mList.add(new ModalClass(R.drawable.logodetail,"Mitsubishi S-N50"));
        mList.add(new ModalClass(R.drawable.logo,"Mitsubishi S-N50"));
        mList.add(new ModalClass(R.drawable.profilepicture,"Mitsubishi S-N50"));
        mList.add(new ModalClass(R.drawable.logodetail,"Mitsubishi S-N50"));
        mList.add(new ModalClass(R.drawable.logo,"Mitsubishi S-N50"));
    }
}

StockContent.XML :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#F3FFFC">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/StockRecyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

    </androidx.recyclerview.widget.RecyclerView>
</LinearLayout>

Stock_CardView.XML (for recyclerview content) :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

<androidx.cardview.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:cardCornerRadius="15dp"
    android:layout_margin="20dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <androidx.cardview.widget.CardView
            android:layout_width="100dp"
            android:layout_height="100dp"
            app:cardCornerRadius="30dp"
            android:layout_margin="15dp"
            android:layout_weight="0.1">

            <ImageView
                android:id="@+id/img_goodspicture"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:src="@drawable/profilepicture"
                android:scaleType="centerCrop"/>

        </androidx.cardview.widget.CardView>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_weight="1"
            android:layout_marginTop="10dp"
            android:layout_marginRight="15dp"
            >

            <TextView
                android:id="@+id/txt_goodsname"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Mitsubishi S-N10 (220V)"
                android:textColor="#000000"
                android:fontFamily="@font/sarabun_bold"
                android:textSize="21dp"
                android:layout_marginBottom="0dp"/>

            <TextView
                android:id="@+id/txt_goodstype"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Jenis : Contactor"
                android:textColor="#000000"
                android:fontFamily="@font/sarabun_regular"
                android:textSize="12.5dp" />

            <TextView
                android:id="@+id/txt_goodsstock"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Stok : 105 pcs"
                android:textColor="#000000"
                android:fontFamily="@font/sarabun_regular"
                android:textSize="12.5dp"/>

            <TextView
                android:id="@+id/txt_dateofgoodsentry"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Tanggal masuk : 29/07/2020"
                android:textColor="#000000"
                android:fontFamily="@font/sarabun_regular"
                android:textSize="12.5dp"/>
        </LinearLayout>
    </LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>

ModalClass.Java :

package com.example.psmandroidapps;

public class ModalClass {

    int image;
    String text;

    public ModalClass(int image, String text) {
        this.image = image;
        this.text = text;
    }

    public int getImage() {
        return image;
    }

    public void setImage(int image) {
        this.image = image;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }
}

CustomAdapter.Java :

package com.example.psmandroidapps;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.List;

public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.MyViewHolder> {

    List<ModalClass> mList;
    Context context;

    public CustomAdapter(List<ModalClass> mList, Context context) {
        this.mList = mList;
        this.context = context;
    }

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

        LayoutInflater layoutInflater = LayoutInflater.from(context);
        View view = layoutInflater.inflate(R.layout.stock_cardview,parent,false);

        return new MyViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {

        holder.imageView.setImageResource(mList.get(position).getImage());
        holder.textView.setText(mList.get(position).getText());

    }

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

    public class MyViewHolder extends RecyclerView.ViewHolder {

        ImageView imageView;
        TextView textView;

        public MyViewHolder(@NonNull View itemView) {
            super(itemView);

            imageView=itemView.findViewById(R.id.img_goodspicture);
            textView=itemView.findViewById(R.id.txt_goodsname);
        }
    }
}

Thats the code of mine.. the result is nothing, nothing showing in my emulator.. Thank you for read this question, hope you guys can help me to solve my problem here. Thank you guys! have a nice day

  • 1
    Does this answer your question? [recyclerview No adapter attached; skipping layout](https://stackoverflow.com/questions/29141729/recyclerview-no-adapter-attached-skipping-layout) – Uuu Uuu Aug 06 '20 at 04:29
  • i have already try it.. but now works. – Vito Juliano Aug 06 '20 at 04:48
  • At first, please make this value **RecyclerView StockRecyclerView;** to **RecyclerView stockRecyclerView;** and call **new LinearLayoutManager(getContext())** instead **new LinearLayoutManager(getActivity())** – Whitebird Aug 06 '20 at 07:15

0 Answers0