Ver la Versión Completa : solo me coge un control personalizado
Hola, a ver si alguien me puede echar una mano..
En mi aplicación he creado un componente personalizado que me da información sobre el estado de la aplicación y lo actualizo cada vez que hago cualquier acción. Lo tengo en la actividad principal y en otra en la que muestro una lista.
El tema es que sólo se me actualiza el componente de la lista, es que como si el componente que tengo en la página principal nunca obtuviese el objeto, ni siquiera poniendoles ids distintos. Y eso que la obtención y actualización del control lo tengo en la claase de la activity principal :
control = (ControlInfo) findViewById(R.id.controlInfo1);
...
control.actualizar();
mocelet
09/04/13, 00:50:29
No he entendido el problema, el objeto lo encontrará porque si no te devolverá null y saltará una excepción, salvo que captures las excepciones y no la hayas visto. ¿Se muestra el control? ¿Tienes bien definido el onMeasure para que Android le asigne el espacio de pantalla apropiado?
Si el problema es que cambias cosas en tu control y ves que no cambian en la pantalla, fuerza el redibujado llamando al método invalidate() de tu control para que Android vuelva a pintarlo (con los TextViews me pasa bastante...).
Si el problema es del tipo "brujería inexplicable", a veces un Project - Clean de Eclipse lo soluciona, especialmente cuando cambias nombres de identificador. No creo que sea tu problema, pero por si acaso.
El Project - Clean no ha funcionado, y llamar al Invalidate() tampoco. También el control se muestra, pero no se actualiza donde debe.
A ver, voy a intentar explicarlo mejor:
Tengo un control personalizado que es una serie de TextView, que muestra el estado de la aplicacion, es decir, los items que voy escogiendo de una lista.
Tengo 2 Activitys:
Activity Principal:
-4 botones que te mandan a la segunda activity pasándole un parámetro según el botón seleccionado para que te muestre una lista con unos objetos u otros.
-Componente personalizado
Activity Lista:
-Componente personalizado
-Lista de unos objetos u otros en función del botón seleccionado en la Activity principal
Hasta aquí todo ok!? En la activity principal el componente tiene la id: ControlInfo1 y en la Activity Lista se llama ControlInfoLista.
En la Activity Principal tengo el método onActivityResult() que contiene el metodo control.Actualizar() que actualiza el control personalizado con la información seleccionada. El tema es que sólo actualiza el control de la Activity Lista aunque lo declare cogiendo el control con el identificador ControlInfo1 que es el de la Activity Principal...
En cambio si elimino el control de la Activity Lista sí que se actualiza el de la principal.
¿Qué puede estar pasando?
Arreglado!! El problema es que en el constructor llamaba al método inicializar() y este era estático.. así que tenía problemas por varias partes..
Lo he resulto haciendo en editar:
if(View.isInEditMode()) return;
y sale de la función! =)
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.