studio setonitemclicklistener recyclerview que onclickitemlistener long adapterview android android-adapterview

setonitemclicklistener - recyclerview android



¿Qué significa AdapterView<?> En el método OnitemClick()? ¿Cuál es el uso de otros parámetros en él? (2)

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


El <?> Indica un genérico. Lea más sobre ellos here .

Esto es lo documentation dice la documentation sobre los parámetros:

onItemClick(AdapterView<?> parent, View view, int position, long id)

padre El AdapterView donde ocurrió el clic.

vista La vista dentro del AdapterView en el que se hizo clic (esta será una vista proporcionada por el adaptador)

posición La posición de la vista en el adaptador.

id El identificador de fila del elemento en el 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 generics en Java. Puede usar el código principal para hacer algo a toda la vista. Por ejemplo, si estuviera usando un ListView , podría ocultar el ListView completo mediante 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 lo hizo ListView.addHeaderView(View) ), entonces la vista de encabezado sería la posición 0 y las filas reales comenzarían su numeración en 1.

A veces, id es lo mismo que posición y otras veces es diferente. Si está utilizando un ArrayAdapter o SimpleAdapter entonces son los mismos (excepto en el caso de que haya una vista de encabezado y luego estén apagados en uno). Para un CursorAdapter (y, por consiguiente, un SimpleCursorAdapter ) el id devuelve el id de fila de la tabla, es decir, _id .

Aquí hay algunas otras buenas respuestas sobre este tema:

  • https://.com/a/9863279/3681880
  • https://.com/a/12966006/3681880
  • https://.com/a/24531354/3681880

Los ? significa que el tipo de datos es desconocido y puede ser de cualquier tipo.