¿Qué significa AdapterView <?> En el método OnitemClick ()? ¿Cuál es el uso de otros parámetros en ella?
gridview.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show(); } });
- AdapterView.OnItemClickListener con más ListView
- Spinner: obtener estado o recibir notificación cuando se abre
- GridView.setOnItemClickListener no funciona
- No se puede iniciar la actividad: UnsupportedOperationException: addView (View, LayoutParams) no es compatible con AdapterView
- El tipo nuevo AdapterView.OnItemClickListener () {} debe implementar el método abstracto heredado AdapterView.OnItemClickListener)
- Actualizar dinámicamente los tipos de vista de ListView
- RemoveView (View) no es compatible con AdapterView
- Cómo obtener texto de autocompletar textview android
El <?>
Indica un genérico. Lea más sobre ellos aquí .
Esto es lo que dice la documentación sobre los parámetros:
onItemClick(AdapterView<?> parent, View view, int position, long id)
Parent El AdapterView donde ocurrió el clic.
View La vista dentro del AdapterView que se hizo clic (esto será una vista proporcionada por el adaptador)
Position La posición de la vista en el adaptador.
Id Id de la fila del elemento al que se hizo clic.
El AdapterView
podría ser un ListView
, GridView
, Spinner
, etc. El signo de interrogación dentro de los corchetes angulares indica que podría ser cualquiera de ellos. Esto se llama genéricos en Java. Puede utilizar padre en código para hacer algo a la vista completa. Por ejemplo, si estuviera usando un ListView
podría ocultar todo el ListView
por la siguiente línea de código:
parent.setVisibility(View.GONE);
La View
refiere a un elemento específico dentro de AdapterView
. En un ListView
es la fila. Por lo tanto, puede obtener una referencia a un TextView
dentro de una fila diciendo algo como esto:
TextView myTextView = (TextView) view.findViewById(R.id.textView1); String text = myTextView.getText().toString();
La posición es la posición de la vista en el padre . Para un ListView
, es el número de fila. La fila superior es la posición 0, la segunda fila es la posición 1, la tercera fila es la posición 2, etc. Tenga en cuenta que si su ListView
tiene una vista de encabezado (como si hiciera ListView.addHeaderView(View)
) entonces la vista del encabezado sería Posición 0 y las filas reales comenzarían su numeración en 1.
A veces id es lo mismo que la posición ya veces es diferente. Si está usando un ArrayAdapter
o SimpleAdapter
entonces son iguales (excepto en el caso de que haya una vista de encabezado y luego estén apagados por uno). Para un CursorAdapter
(y, en consecuencia, un SimpleCursorAdapter
), el identificador devuelve el ID de la fila de la tabla, es decir, _id
.
Aquí hay algunas otras buenas respuestas sobre este tema:
Los ? Significa que el tipo de datos es desconocido y puede ser de cualquier tipo.
- Cualquier ejemplo que muestre cómo iniciar sesión con Facebook SDK 4.0 en Android, ya sea utilizando el botón propio o el botón de Facebook?
- Google Glass GDK: cómo comunicarse con el dispositivo Android