Error Infating class com.google.android.material.card.MaterialCardView

huangapple 未分类评论47阅读模式
英文:

Error Infating class com.google.android.material.card.MaterialCardView

问题

这是你提供的内容的翻译:

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

日志错误内容太长,无法在单个回答中处理完毕。如有需要,请分多个回答逐步翻译。

英文:

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&lt;Mascotas&gt; ArraylistMascotas = new ArrayList&lt;Mascotas&gt;();

    @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 = &quot;0&quot;;

        ArraylistMascotas.add(new Mascotas(R.drawable.gatito1, &quot;Shasha&quot;, likes ));
        ArraylistMascotas.add(new Mascotas(R.drawable.gatito2, &quot;Nugget&quot;, likes ));
        ArraylistMascotas.add(new Mascotas(R.drawable.gatito3, &quot;Michin&quot;, likes ));
        ArraylistMascotas.add(new Mascotas(R.drawable.gatito4, &quot;Pelusa&quot;, likes ));
        ArraylistMascotas.add(new Mascotas(R.drawable.gatito5, &quot;Misifu&quot;, 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&lt;Mascotas_Adaptador.MascotasViewHolder&gt; {
    ArrayList&lt;Mascotas&gt; Mascotas;

    public Mascotas_Adaptador(ArrayList&lt;Mascotas&gt; 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

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

    &lt;LinearLayout
        android:id=&quot;@+id/laImage&quot;
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;match_parent&quot;
        android:orientation=&quot;vertical&quot;&gt;

        &lt;ImageView
            android:id=&quot;@+id/imgGatito&quot;
            android:layout_width=&quot;match_parent&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:src=&quot;@drawable/gatito1&quot; /&gt;

        &lt;LinearLayout

        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;match_parent&quot;
        android:orientation=&quot;horizontal&quot;
        &gt;

        &lt;ImageView
                android:layout_marginStart=&quot;5dp&quot;
                android:layout_width=&quot;20dp&quot;
                android:layout_height=&quot;20dp&quot;
                android:src=&quot;@drawable/hueso&quot;
                /&gt;

            &lt;TextView
                android:id=&quot;@+id/nombre&quot;
                android:textAlignment=&quot;center&quot;
                android:layout_width=&quot;310dp&quot;
                android:layout_height=&quot;wrap_content&quot;
                android:textStyle=&quot;bold&quot;
                android:text=&quot;@string/nombre&quot;
                android:layout_marginStart=&quot;7dp&quot;
                /&gt;

            &lt;TextView
                android:id=&quot;@+id/likes&quot;
                android:textAlignment=&quot;center&quot;
                android:layout_width=&quot;wrap_content&quot;
                android:layout_height=&quot;wrap_content&quot;
                android:textStyle=&quot;bold&quot;
                android:text=&quot;@string/Likes&quot;
                android:layout_marginStart=&quot;5dp&quot;
                /&gt;

            &lt;Button
                android:id=&quot;@+id/btnLikes&quot;
                android:layout_marginStart=&quot;10dp&quot;
                android:layout_width=&quot;20dp&quot;
                android:layout_height=&quot;20dp&quot;
                android:background=&quot;@drawable/hueso&quot;
                /&gt;

        &lt;/LinearLayout&gt;
    &lt;/LinearLayout&gt;

&lt;/com.google.android.material.card.MaterialCardView&gt;

huangapple
  • 本文由 发表于 2020年6月29日 11:39:00
  • 转载请务必保留本文链接:https://java.coder-hub.com/62630824.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定