Android conjunto de Etiquetas, findViewWithTag

Estoy tratando de encontrar un ImageView por etiqueta. Puedo asignar una etiqueta para el ImageView, pero cuando intento findViewWithTag, devuelve null. He leído que debo agregar a la vista de la childer con addChilder, pero la vista no tiene esta función. Alguien puede explaim para mí ¿cómo puedo hacer esto?

ImageView principal = (ImageView) findViewById(R.id.imagen_home_0);
    principal.setTag("principal");

en otra clase(AsyncTask) que me pase el contexto

        View noMiembros = new View(context);

        ImageView er = (ImageView) noMiembros.findViewWithTag("principal");
        er.setImageBitmap(result);
InformationsquelleAutor D4rWiNS | 2013-06-21

3 Kommentare

  1. 4

    Pasar de una Actividad a AsyncTask y sólo tiene que utilizar :

    ImageView principal = (ImageView) passedActivity.findViewById(R.id.imagen_home_0);

    o conseguir inflater de Contexto como este :

    LayoutInflater inflater = LayoutInflater.from(context);
    View row = inflater.inflate(R.layout.your_viw_that_contains_that_image, parent, false);
    
    ImageView principal = (ImageView) row.findViewById(R.id.imagen_home_0);
    
    //or by tag 
    principal = (ImageView) row.findViewWithTag("principal");

    Mejores deseos.

  2. 4

    Está llamando findViewWithTag en noMiembros
    que es un nuevo punto de Vista.

    Usted necesita llamar a findViewWithTag en un padre de la ImageView
    usted está tratando de alcanzar.

    Pero si usted desea conseguir su ImageView desde dentro de una AsyncTask, solo llame
    findViewById(R.id.imagen_home_0) en su Actividad.

    • Esta es la respuesta correcta
  3. 0

    Yo creo que tú eres … confundir esas dos etiquetas.

    setTag() puede conectar CUALQUIER objeto a la vista, mientras que la etiqueta XML es sólo una cadena – creo que la findViewByTag intentará igualar la etiqueta pasado a través de XML, no un sujeto a través de código – como no podría ser de cualquier objeto.

    ¿Por qué no sólo tiene que pasar el principal imageView para la asyncthread?

    • Esto es incorrecto. La firma del método es la Vista del público findViewWithTag(etiqueta de Objeto).
    • El problema es noMiembros se creará un nuevo punto de vista de que no contiene el ImageView, y no podía contener ya que no es un VIewGroup

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea