Android obtener la posición del elemento seleccionado en gridview

Como sabemos utilizar la vista de cuadrícula de Android, podemos hacer lo siguiente y ser notificado cuando se hace clic en el elemento:

gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { Toast.makeText(PopularCapitActivity.this, "" + position, Toast.LENGTH_SHORT).show(); } }); 

También sabemos que, si la celda de la cuadrícula contiene un elemento que se puede hacer clic, diga un botón, lo anterior no se disparará.

Por lo que actualmente tengo una vista de cuadrícula, cada célula tiene su propio botón, por lo que ahora, cuando el usuario hace clic en el botón, tendrá su propia acción basada en la celda en el botón reside en mi pregunta es, ¿cómo puedo acceder a la posición de la célula En el controlador de botones?

Gracias

Suponiendo que está utilizando un adaptador personalizado para GridVIew, en el método getView simplemente puede agregar una etiqueta al objeto Button que contiene la posición pasada en getView:

 button.setTag(new Integer(position)); 

Entonces, en el método onClickListener, con la vista que se pasa en (el botón) que puede hacer:

 Integer position = (Integer)view.getTag(); 

Y luego manejar el valor de la posición de allí.

EDIT: Parece que la mejor práctica sería hacer:

 button.setTag(Integer.valueOf(position)); 

En lugar de utilizar el constructor Integer.

GridView.setOnItemClickListener (nuevo AdapterView.OnItemClickListener () {@Override public void onItemClick (padre de AdapterView, vista de vista, posición de int, identificación larga) {

  String a = String.valueOf(position); Toast.makeText(getApplicationContext(), a, Toast.LENGTH_SHORT).show(); } }); 
  • Eliminar el espacio de borde alrededor de GridView
  • Desplazamiento de desplazamiento de GridView
  • ¿Honeycomb SDK rompió la compatibilidad con versiones anteriores de GridView?
  • Gridview: Cómo llenar el espacio entero con la vista de texto
  • Android: mostrar tarjetas como el diseño como en Google Keep
  • ¿Cómo funciona CursorAdapter en android en GridView?
  • Android GridView reordena elementos mediante Arrastrar y soltar
  • Gridview con diseño (imageview + imagebutton) para cada valor
  • El clic de GridView no funciona dentro de la vista de lista personalizada
  • Cómo establecer un ancho de columna de un gridview en android?
  • Gridview mostrar de acuerdo a la altura real dentro de vista de desplazamiento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.