Spanish Sobre Activity y Layout

Saludos, compañeros:

A vueltas con mi primera aplicación, me surge otra duda:

He colocado en un único activity (main) y un único layout:
  • Una caja de texto
  • Un botón de buscar
  • Y un B4XTable que muestra los resultados de esa búsqueda
... ahora lo que querría es que la tabla con los resultados realmente estuviera en otro "formulario", y que al darle al botón de búsqueda se mostrase. Entonces el usuario selecciona un registro y este "formulario" se cierra y escribe el valor seleccionado en la caja de texto del formulario principal

Algo muy sencillo como podéis ver, pero no tengo aún muy claros los conceptos de lo que son los activity y los layout (vengo de Access) y agradecería una orientación sobre qué pasos debería de dar. Sé que tengo que crear otra activity pero no sé qué tengo que hacer para "trasladar" el B4XTable desde el main.

Gracias de antemano.
 

drgottjr

Expert
Licensed User
Longtime User
b4xtable funciona con "paginas". se cambia de pagina, no de actividad. lastima que con tanto esfuerzo para aprender android y sus actividades ahora tienes que cambiar de rumbo. he aqui un vinculo para b4xtable (incluye un ejemplo). para lo de paginas, tendras que buscar en la casilla arriba. quiza para ti, que no tienes experiencia con android y sus peculiaridades, el uso de paginas te resulte facil. para mi, es un mundo ajeno.

esto aparte, no es dificil compartir datos entre actividades (de la misma app, claro esta). con el uso de "process globals" podrias realizar lo que buscabas. pero sin b4xtable.

ahora bien, existe una clase "tableview" https://www.b4x.com/android/forum/threads/class-tableview-supports-tables-of-any-size.19254/
esto podria servir. tratandose de una "view" cualquiera, nada mas tienes que mostrarla cuando quieres y borrarla cuando oportuno. no tienes que cambiar de actividad. al presionar el primer boton, aparece la tabla. el usuario hace su seleccion, y la table desaparece. la seleccion aparece en la caja de texto (un detalle trivial).

yo no uso tablas, pero hasta que no domines "paginas", b4xtable no te sirve. en cuanto a tableview, el que aparece/desaparece como cualquier "view" evita una segunada actividad. a veces conviene tener mas de una actividad para facilitar un cambio de layout o cuando esta segunda actividad tiene una funcionalidad propia. pero en este caso, no tiene sentido. si optas por utilizar tableview, basta con abrirla/cerrarla dentro de la misma actividad.
 

josejad

Expert
Licensed User
Longtime User
Hola Alex:

Echa un ojo a los dos enlaces que te pongo abajo.
El primero es cómo funciona Android, y el ciclo de vida de una actividad.
En el segundo, verás cómo en una misma actividad puedes hacer muchas cosas, no siempre merece la pena cambiar de actividad.

En una actividad, puedes tener tu caja de texto y tu botón de buscar, al pulsarlo, mostrar un panel encima con tu tabla, y después ocultar el panel. No hace falta que cambies de actividad y así no tienes que pasar variables entre una actividad y otra, etc... Para cosas simples no hace falta cambiar de actividad.
Normalmente se cambia de actividad cuando se hacen cosas muy distintas en una y otra.

Como indica drgotjr, con B4XPages, que es algo nuevo que introdujo Erel hace relativamente poco tiempo, lo haces todo dentro de una misma actividad, y así te quitas de líos con los Activity_Resume, etc... Digamos que cada B4XPage (página) que muestras, es una especie de panel dentro de la misma actividad, así que compartes variables, etc... sin tener que estar pasándolas de una Activity a otra...

saludos,


 
Una vez más, gracias por vuestros mensajes; es sorprendente lo dispuestos que estáis a ayudar.

Me pongo en cuanto pueda con vuestras sugerencias y os cuento.

Un abrazo.
 
Top