Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 09/04/13, 00:04:25
Avatar de Millas
Millas Millas no está en línea
Miembro del foro
Mensajes: 79
 
Fecha de registro: dic 2009
Localización: Valencia
Mensajes: 79
Modelo de smartphone: SAMSUNG GALAXY NEXUS
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
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();
Responder Con Cita


  #2  
Viejo 09/04/13, 00:50:29
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
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.
Responder Con Cita
  #3  
Viejo 09/04/13, 01:07:16
Avatar de Millas
Millas Millas no está en línea
Miembro del foro
Mensajes: 79
 
Fecha de registro: dic 2009
Localización: Valencia
Mensajes: 79
Modelo de smartphone: SAMSUNG GALAXY NEXUS
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
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?
Responder Con Cita
  #4  
Viejo 09/04/13, 21:08:22
Avatar de Millas
Millas Millas no está en línea
Miembro del foro
Mensajes: 79
 
Fecha de registro: dic 2009
Localización: Valencia
Mensajes: 79
Modelo de smartphone: SAMSUNG GALAXY NEXUS
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
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! =)
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 13:44:14 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007