Cómo usar RecyclerView, Tratando de seguir la sugerencia de developer.android.com pero obtener un error

Estoy tratando de usar RecyclerView para mostrar mi conjunto de datos, tratando de seguir este sitio web https://developer.android.com/training/material/lists-cards.html

El problema es que hay algo de malo y no se puede averiguar cómo solucionarlo, hice exactamente cómo sugiere ese sitio.

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private String[] mDataset; // Provide a reference to the views for each data item // Complex data items may need more than one view per item, and // you provide access to all the views for a data item in a view holder public static class ViewHolder extends RecyclerView.ViewHolder { // each data item is just a string in this case public TextView mTextView; public ViewHolder(TextView v) { super(v); mTextView = v; } } // Provide a suitable constructor (depends on the kind of dataset) public MyAdapter(String[] myDataset) { mDataset = myDataset; } // Create new views (invoked by the layout manager) @Override public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { // create a new view View v = LayoutInflater.from(parent.getContext()) .inflate(R.layout.my_text_view, parent, false); // set the view's size, margins, paddings and layout parameters ... ViewHolder vh = new ViewHolder(v); // ERROR return vh; } // Replace the contents of a view (invoked by the layout manager) @Override public void onBindViewHolder(ViewHolder holder, int position) { // - get element from your dataset at this position // - replace the contents of the view with that element holder.mTextView.setText(mDataset[position]); } // Return the size of your dataset (invoked by the layout manager) @Override public int getItemCount() { return mDataset.length; } } 

Android Studio me da un error:

 ViewHolder (android.widget.TextView) in ViewHolder cannot be applied to (android.view.View) 

¿Cómo debería hacer esto?

Parece que developer.android.com tiene algún error tipográfico aquí?

Cuando infla una vista, suele ser una buena idea crear una instancia del tipo específico de vista que está inflando. En este caso está inflando un TextView . Dado que TextView extiende desde View el compilador no se quejará de ello, pero cuando intente usar la View como TextView su aplicación se bloqueará.

 // create a new view TextView v = (TextView) LayoutInflater.from(parent.getContext()) .inflate(R.layout.my_text_view, parent, false); 

Cambiar View a TextView .

¿Has probado esto?

 ViewHolder vh = new ViewHolder((TextView) v); 

El constructor en el ViewHolder tiene un TextView. Por lo tanto, no puede enviar Ver a ViewHolder. Intente almacenar en caché la vista en TextView de esta manera.

 ViewHolder vh = new ViewHolder((TextView)v); 
  • ¿Cómo puedo hacer encabezados pegajosos en RecyclerView? (Sin librería externa)
  • Enumera el alineamiento de elementos con Recycler View
  • Android: Actualización de recyclerview con nuevos datos
  • ¿Cómo crear RecyclerView con múltiples tipos de vista?
  • Cómo crear una tarjeta CardView horizontal con RecyclerView con una sola tarjeta en la pantalla a la vez
  • Android: RecyclerView dentro de un ScrollView
  • Problemas para recrear listas de diseño de materiales con licencia en Android
  • ¿Cómo animar recyclerview en desplazamiento como Google plus / Google newsstand?
  • Reciclar vista - java.lang.NullPointerException
  • Recyclerview de Android vs ListView con el usuario
  • RecyclerView.Adapter.notifyItemMoved (0,1) desplaza la pantalla
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.