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 } } 
  • ¿Puedo usar más de 2 vistas de reciclador en una actividad?
  • Animar transiciones de elementos compartidos usando fragmentos de Android parece ser una pesadilla
  • ¿Cómo guardar y restaurar la posición exacta de desplazamiento de RecyclerView?
  • Recyclerview en un fragmento no muestra nada
  • Cómo importar RecyclerView para Android L-preview
  • Múltiples elementos seleccionados RecyclerView in Activity.java
  • Problema de desplazamiento Infinito Infinito de RecyclerView
  • Centro Horizontal última fila utilizando span Recycler GridLayoutManager
  • Taps rápidos (clics) en RecyclerView abre varios fragmentos
  • SwipeRefreshLayout obstruye el desplazamiento de recycleview en el momento de desplazarse hacia arriba
  • Problemas para recrear listas de diseño de materiales con licencia en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.