Android Studio: Método 'onCreateViewHolder' no reconocerá mi archivo '.xml' diseño desde dentro de su clase

MurplePunky:

Estoy después de una serie de la creación de aplicaciones Android Studio en YouTube aquí: https://www.youtube.com/watch?v=reSPN7mgshI

He creado un archivo de diseño 'note_item.xml' que utiliza CardView para establecer diseños de tarjeta que se pondrán en un RecyclerView en mi archivo 'activity_main.xml'.

Mi clase 'NoteAdapter.java' obtiene los datos de mi nota objetos de una lista y utiliza los datos para crear cardViews que ser puesto en el RecyclerView.

El problema que estoy teniendo es que uno de mis métodos no reconocerá mi archivo 'note_item.xml'. Me aparece un error que dice "No se puede resolver el símbolo 'note_item' Crear archivo de recursos de diseño 'note_item.xml'". Ya tengo un archivo note_item.xml, como se puede ver en la imagen en la parte inferior.

Podría ser que el elemento raíz note_item.xml momento de la creación se establece en 'androidx.cardview.widget.CardView'? La persona en el video todavía no está utilizando AndroidX por lo que yo puedo ver.

Aquí está el código ...

package com.example.libraryroomapp;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

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

import java.util.ArrayList;
import java.util.List;

/* NoteAdapter gets data from Note objects into the RecyclerView items
* */
public class NoteAdapter extends RecyclerView.Adapter<NoteAdapter.NoteHolder> {
    private List<Note> notes = new ArrayList<>();

    @NonNull
    @Override
    //method to create and return a NoteHolder
    public NoteHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View itemView = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.note_item, parent, false);
        return new NoteHolder(itemView);
    }

    @Override
    public void onBindViewHolder(@NonNull NoteHolder holder, int position) {
        Note currentNote = notes.get(position);
        holder.textViewTitle.setText(currentNote.getTitle());
        holder.textViewDescription.setText(currentNote.getDescription());
        holder.textViewPriority.setText(String.valueOf(currentNote.getPriority()));
    }

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

    public void setNotes(List<Note> notes) {
        this.notes = notes;
        notifyDataSetChanged();
    }

    //ViewHolder class holds the views in our single recyclerView items
    class NoteHolder extends RecyclerView.ViewHolder {
        private TextView textViewTitle;
        private TextView textViewDescription;
        private TextView textViewPriority;

        //constructor
        public NoteHolder(View itemView) {
            super(itemView);
            textViewTitle = itemView.findViewById(R.id.text_view_title);
            textViewDescription = itemView.findViewById(R.id.text_view_description);
            textViewPriority = itemView.findViewById(R.id.text_view_priority);
        }
    }
}

El código para mi note_item.xml es aquí también.

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="8dp">

        <TextView
            android:id="@+id/text_view_priority"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:text="1"
            android:textAppearance="@style/TextAppearance.AppCompat.Large" />

        <TextView
            android:id="@+id/text_view_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_toStartOf="@id/text_view_priority"
            android:ellipsize="end"
            android:maxLines="1"
            android:text="Title"
            android:textAppearance="@style/TextAppearance.AppCompat.Large" />

        <TextView
            android:id="@+id/text_view_description"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/text_view_title"
            android:text="Description" />

    </RelativeLayout>

</androidx.cardview.widget.CardView>

LibraryRoomAppError

droidbaza:

Tal problema se produce periódicamente en Android Studio. Basta con hacer clic a reconstruir el proyecto o salga y vuelva a entrar en el estudio androide. Y tratar de generar apk. Si se construye con éxito, entonces no hay ningún problema. Y si había un error, el apk simplemente no se generará.

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=410199&siteId=1
Recomendado
Clasificación