¿Qué AdapterView Significa en el OnitemClick () Método? ¿Cuál es el uso de otros parámetros en ella?

StackOverflow https://stackoverflow.com/questions/3184672

  •  02-10-2019
  •  | 
  •  

Pregunta

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

Solución

El <?> indica un genérico. Lea más sobre ellos aquí .

Esto es lo que la documentación dice acerca de los parámetros:

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

principal El AdapterView donde el clic que pasó.

vista La vista dentro de la AdapterView que se hizo clic (esto será una vista proporcionada por el adaptador)

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

id La fila Identificación del elemento que se ha hecho clic.

El AdapterView podría ser una ListView, GridView, Spinner, etc. El signo de interrogación interior de los corchetes indica que podría ser cualquiera de ellos. Esto se llama genéricos en Java. Puede utilizar principal en el código para hacer algo para toda la vista. Por ejemplo, si estuviera usando un ListView que podría ocultar toda la ListView por la siguiente línea de código:

parent.setVisibility(View.GONE);

El View se refiere a un elemento específico dentro de la AdapterView. En una ListView es la fila. De este modo, se 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 una 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 encabezamiento (como si lo hiciera ListView.addHeaderView(View)), entonces la vista de encabezado sería la posición 0 y el real filas comenzarían su numeración a 1.

A veces id es la misma que posición y, a veces es diferente. Si está utilizando un ArrayAdapter o SimpleAdapter entonces ellos son los mismos (excepto en el caso de que hay una vista de encabezado y luego son fuera una). Para una CursorAdapter (y por consiguiente un SimpleCursorAdapter) la id devuelve el identificador de fila de la tabla, es decir, _id.

Aquí están algunas otras respuestas buenas sobre este tema:

Otros consejos

El? medios que el tipo de datos es desconocida y puede ser cualquier tipo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top