Obtenga el elemento secundario de la vista de lista personalizada [cerrado]

Creé un elemento de vista de lista personalizado para mi aplicación. Supongamos que para cualquier evento de clic necesito un niño en particular de la vista de lista, ¿cómo puedo obtener eso?

Cualquier enlace o cualquier ayuda es apreciada.

preguntado el 22 de mayo de 12 a las 12:05

3 Respuestas

Supongamos que tiene una vista de lista personalizada (por ejemplo, lv). Luego implemente uno onItemClickListener como se muestra a continuación:

lv.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> arg0, View view, int position,
                long id) {
            // Let's suppose the custom list View has one textview
            TextView tv = (TextView) lv.getChildAt(position);
        }
    });

Aquí, la posición lo ayuda a reconocer el elemento en el que el usuario ha hecho clic. Para cada elemento con el que desee trabajar, puede obtenerlo de manera similar.

contestado el 22 de mayo de 12 a las 12:05

Puede obtener el elemento de datos secundarios del adaptador de respaldo.

Sólo tiene que utilizar ListView.getAdapter y entonces ArrayAdapter.getItem con la posición alimentada desde su OnItemClickListener (suponiendo que haya configurado esto).

Si realiza cambios en el elemento de datos, recuerde llamar notifyDatasetChanged en el adaptador para mostrar los cambios. Trate de no manipular las vistas directamente, ya que esto puede generar problemas con el reciclaje de vistas.

contestado el 22 de mayo de 12 a las 12:05

LIstView hv10;

hv10.setAdapter(new ListAdapter(getApplicationContext(), R.id.hv10, bigList.get(i)));

RelativLayout rlv;

rlv.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        text.setText("on click");
    }

}

Respondido el 30 de diciembre de 15 a las 14:12

Es posible que desee poner alguna explicación en el código. - Ian

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.