El mejor lugar para adjuntar onClickListener en recyclerview

Mientras que miraba algunos tutoriales sobre la visión del reciclador. Algunos de ellos utilizaron el constructor del viewHolder para atar el oyente del onClick mientras que algunos de ellos utilizaron el método de onBindViewHolder. que método es el mejor lugar para adjuntar el onclicklistener. Estoy realmente confundido

El método onBindViewHolder se llama cada vez que enlaza su vista con datos. Así que no hay el mejor lugar para establecer el oyente de clics. No es necesario que establezca OnClickListener muchas veces para una View . Así que la mejor solución es establecer el oyente de onCreateViewHolder en el método onCreateViewHolder . Pero lo importante es una forma de implementar en el oyente de clics. Si por ejemplo desea obtener algún modelo de la lista puede utilizar el método getPosition() desde ViewHolder .

Mira el ejemplo

 @Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { final View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.view_magazine_list_item, null); final ViewHolder result = new ViewHolder(view); view.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ YourObject yourobject = yourObjectsList.get(result.getAdapterPosition())); } }); return result; } 

En ViewHolder es el mejor lugar:

 public static class ItemViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ //views declare here public ItemViewHolder(View convertView) { super(convertView); ... ... convertView.setOnClickListener(this); } @Override public void onClick(View v) { //do something to view here //also you can get view position by 'getPosition()' here } } 
  • ¿Cómo agregar un simple encabezado 8dp / pie de página a RecyclerView de Android?
  • Animación de transición de llamada desde RecyclerView Adapter en lugar de Actividad
  • ¿Cómo usar la API fluida de MvvmCross para enlazar TextView de un elemento de RecyclerView a una propiedad de su ViewModel en Android?
  • Cuando se enfoca EditText dentro de ListView o RecyclerView, el teclado muestra pero el desplazamiento no funciona
  • RecyclerView Expandir / Contraer elementos
  • ¿Cómo desplazarse a la parte inferior de un RecyclerView? ScrollToPosition no funciona
  • RecyclerView no se desplaza hacia abajo
  • ¿Debo cambiar el Listview existente en mi aplicación a RecyclerView?
  • Vista previa de recyclerview horizontal en android studio
  • Android RecyclerView con SectionIndexer
  • Facebook Anuncios nativos en RycyclerView android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.