0

Hi i am trying to use recycler function in java

the app does not open, an error appears in the cardview log, but I do not know how to solve it, I thank you very much

This cardview should show me some imagent, it is and some textview I think it is The error is when trying to inflate the cardview

Main Activity

package com.niccode.pets;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.os.Bundle;
import android.widget.LinearLayout;

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

public class MainActivity extends AppCompatActivity {

    private String likes;
    private RecyclerView listaMascotas;

    ArrayList<Mascotas> ArraylistMascotas = new ArrayList<Mascotas>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        listaMascotas      = (RecyclerView) findViewById(R.id.recly);
        LinearLayoutManager vista = new LinearLayoutManager(this);
        vista.setOrientation(LinearLayoutManager.VERTICAL);

        listaMascotas.setLayoutManager(vista);
        iniciarLista();
        iniciarAdaptador();

    }


    public void iniciarLista (){
        likes = "0";

        ArraylistMascotas.add(new Mascotas(R.drawable.gatito1, "Shasha", likes ));
        ArraylistMascotas.add(new Mascotas(R.drawable.gatito2, "Nugget", likes ));
        ArraylistMascotas.add(new Mascotas(R.drawable.gatito3, "Michin", likes ));
        ArraylistMascotas.add(new Mascotas(R.drawable.gatito4, "Pelusa", likes ));
        ArraylistMascotas.add(new Mascotas(R.drawable.gatito5, "Misifu", likes ));

    }

    public void iniciarAdaptador(){
        Mascotas_Adaptador adaptador = new Mascotas_Adaptador(ArraylistMascotas);
        listaMascotas.setAdapter(adaptador);

    }


}

Adaptator

package com.niccode.pets;

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.ArrayList;

public class Mascotas_Adaptador extends RecyclerView.Adapter<Mascotas_Adaptador.MascotasViewHolder> {
    ArrayList<Mascotas> Mascotas;

    public Mascotas_Adaptador(ArrayList<Mascotas> Mascotas){
        this.Mascotas = Mascotas;
    }

    @NonNull
    @Override
    public MascotasViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.cardview_layout, parent, false);
        return new MascotasViewHolder(v);

    }

    @Override
    public void onBindViewHolder(@NonNull MascotasViewHolder Mascotasholder, int position) {
        Mascotas mascotas = Mascotas.get(position);
        Mascotasholder.imgFoto.setImageResource(mascotas.getFoto());
        Mascotasholder.tvNombre.setText(mascotas.getNombre());
        Mascotasholder.tvLikes.setText(mascotas.getLikes());
    }

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

    public static class MascotasViewHolder extends RecyclerView.ViewHolder {

        private ImageView imgFoto;
        private TextView  tvNombre;
        private TextView  tvLikes;

        public MascotasViewHolder(@NonNull View itemView) {
            super(itemView);
            imgFoto   = (ImageView) itemView.findViewById(R.id.imgGatito);
            tvNombre  = (TextView)  itemView.findViewById(R.id.nombre);
            tvLikes   = (TextView)  itemView.findViewById(R.id.likes);


        }
    }
}

Log Error

06-28 22:34:58.090 4945-4945/com.niccode.pets W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41bc3930)
06-28 22:34:58.110 4945-4945/com.niccode.pets E/AndroidRuntime: FATAL EXCEPTION: main
    android.view.InflateException: Binary XML file line #2: Error inflating class com.google.android.material.card.MaterialCardView
        at android.view.LayoutInflater.createView(LayoutInflater.java:613)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
        at com.niccode.pets.Mascotas_Adaptador.onCreateViewHolder(Mascotas_Adaptador.java:24)
        at com.niccode.pets.Mascotas_Adaptador.onCreateViewHolder(Mascotas_Adaptador.java:14)
        at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:7078)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6235)
        at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6118)
        at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6114)
        at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2303)
        at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1627)
        at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
        at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
        at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1915)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at androidx.appcompat.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:446)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1663)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1521)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1894)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1713)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4353)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:760)
        at android.view.Choreographer.doCallbacks(Choreographer.java:573)
        at android.view.Choreographer.doFrame(Choreographer.java:543)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:746)
        at android.os.Handler.handleCallback(Handler.java:725)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:5041)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
        at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.reflect.Inv
06-28 22:34:58.120 4945-4959/com.niccode.pets D/dalvikvm: GC_CONCURRENT freed 260K, 7% free 4522K/4812K, paused 2ms+2ms, total 27ms
06-28 22:34:58.130 4945-4945/com.niccode.pets D/dalvikvm: WAIT_FOR_CONCURRENT_GC blocked 15ms

CardView

<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/cvMascotas"
    android:layout_marginTop="16dp"
    android:layout_marginBottom="16dp"
    card_view:cardCornerRadius="4dp"
    >

    <LinearLayout
        android:id="@+id/laImage"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/imgGatito"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/gatito1" />

        <LinearLayout

        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        >

        <ImageView
                android:layout_marginStart="5dp"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:src="@drawable/hueso"
                />

            <TextView
                android:id="@+id/nombre"
                android:textAlignment="center"
                android:layout_width="310dp"
                android:layout_height="wrap_content"
                android:textStyle="bold"
                android:text="@string/nombre"
                android:layout_marginStart="7dp"
                />

            <TextView
                android:id="@+id/likes"
                android:textAlignment="center"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textStyle="bold"
                android:text="@string/Likes"
                android:layout_marginStart="5dp"
                />

            <Button
                android:id="@+id/btnLikes"
                android:layout_marginStart="10dp"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:background="@drawable/hueso"
                />

        </LinearLayout>
    </LinearLayout>

</com.google.android.material.card.MaterialCardView>

0 Answers0