Recyclerview (адаптер не подключен; макет пропущен) - PullRequest
0 голосов
/ 06 августа 2020

Я только что настраиваю свой RecyclerView, но его нет в моем эмуляторе и есть ошибка " E / RecyclerView: адаптер не подключен; пропущен макет " Не могли бы вы помочь мне найти мою ошибку?

Это мой макет приложения:

Щелкните здесь, чтобы увидеть мой макет приложения

StockContent. Java (Фрагмент):

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 (для содержимого recyclerview):

<?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);
        }
    }
}

Это мой код .. результат ничего, в моем эмуляторе ничего не отображается .. Спасибо, что прочитали этот вопрос, надеюсь, вы сможете помогите мне решить мою проблему здесь. Спасибо вам, ребята! хорошего дня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...