No se puede usar getLayoutPosition () o getAdapterPosition () en RecyclerView
Realmente no sé por qué no puedo usar getLayoutPosition();
O getAdapterPosition();
Métodos dentro de mi clase.
class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ private ImageView image; private TextView title; private TextView price; public MyViewHolder(View itemView) { super(itemView); image = (ImageView)itemView.findViewById(R.id.horizontal_list_image); title = (TextView)itemView.findViewById(R.id.horizontal_list_title); price = (TextView)itemView.findViewById(R.id.horizontal_list_price); image.setOnClickListener(this); title.setOnClickListener(this); price.setOnClickListener(this); } public ImageView getImage() { return image; } public TextView getTitle() { return title; } public TextView getPrice() { return price; } @Override public void onClick(View v) { Toast.makeText(context, "CLICK", Toast.LENGTH_SHORT).show(); getLayoutPosition(); //no method like that } }
Puedo usar sin embargo getPosition()
pero está obsoleto y se aconseja sobre los métodos. documentación
- RecyclerView LayoutManager findViewByPosition devuelve null
- Soporte RecyclerView no muestra nada hasta que se toca
- Cómo obtener el elemento del adaptador RecyclerView en Android
- ¿Cuál es el punto de usar decoraciones de artículos en RecyclerView VS edición de los diseños inflados individuales?
- Elementos de recyclerview confundidos
- Admob Native Ads dentro de un Recylerview muestra espacio en blanco antes de cargar
- RecyclerVer elementoClickListener en Kotlin
- RecyclerView ItemDecoration Espaciado y Span
- RecyclerView GridLayoutManager: cómo detectar el recuento de span?
- RecyclerView con columna fija y cabecera, además de pie de página desplazable
- Cómo implementar coverflow con recyclerview
- Transición de elemento compartido en RecyclerView
- ListSelector para RecyclerView en el dispositivo táctil libre (usando onKey Listener)
getLayoutPosition()
y getAdapterPosition()
son parte de la revisión 22 de la biblioteca de soporte. No puede resolverlo porque sigue usando rev 21. Cambiar
'com.android.support:recyclerview-v7:21.0.+'
a
'com.android.support:recyclerview-v7:22.0.+'
Gradle de sincronización y vuelva a intentarlo