AprendeAndroid.com - FORO
»
AREA DE DESARROLLO
»
Android Foro
»
DUDA: Edicion de elemento del layout desde código
Posición: Newbie
Grupos: Registered
Registrado: 14/12/2012(UTC) Mensajes: 6 Ubicación: Granada
Agradecimientos: 1 veces
|
Hola a todos.
Tengo una nueva duda: se pueden editar características de elementos del layout desde el código de la activity??
Por ejemplo:
Tengo una aplicacion con un layout para gestionar los datos de una base de datos. Tiene tres botones: agregar, editar y cancelar, cada uno con su funcionalidad. No obstante, se puede acceder a este layout desde dos sitios diferentes, una opción de creación situada en otro layou y una de edición situada en un tercero; por lo que en función de ese acceso uno de los botones dejará de tener funcionalidad (agregar o editar) mientras que el de cancelar siempre sera operativo.
Podría hacerse que en lugar de tres elementos tubiese solo dos? el botón de cancelar se mantendría, pero agregar y editar compartirian elemento, sesgando la funcionalidad en la actíviti del mismo modo que antes controlase que se entrase desde una opcion o la otra para deshabilitar uno de los dos botones. En caso de que esto fuese posible sería necesario cambiar el atributo "android:text" de dicho botón genérico desde los comandos de la activity. Esto se puede hacer???
Bueno, pues esa es mi duda. Espero haberme explicado correctamente.
Un saludo a todos y gracias de antemano.
|
|
|
|
Posición: Administration
Grupos: Administrators
Registrado: 07/10/2010(UTC) Mensajes: 436  Ubicación: España Agradecimientos: 38 veces Fue agradecido: 49 vez/veces in 48 publicación(es).
|
Hola! Si se puede, de hecho yo tambien tengo apps que hacen eso! ;p Primero tienes que localizar el boton, esto supongo que lo haras... Código:
Button b_eliminar = (Button) findViewById(R.id.borrar);
luego donde quieras pones el codigo para ocultar o visualizar el boton segun tu programa: para visualizar.... Código:
b_eliminar.setVisibility(View.VISIBLE);
o ocultar... Código:
b_eliminar.setVisibility(View.GONE);
Cuentanos que tal te fue!! |
|
|
|
|
Posición: Newbie
Grupos: Registered
Registrado: 14/12/2012(UTC) Mensajes: 6 Ubicación: Granada
Agradecimientos: 1 veces
|
Hola.
Gracias por la respuesta, pero no es exactamente eso lo que pretendo.
La idea no es que los botones aparezcan o no desaparezcan, sino más bien que podamos cambiar el texto que contienen, por ejemplo:
"Disponemos de dos botones: button1 y button2. button1 tiene como atributo android:text="@string/Cancel" mientras que button2 no tiene ningun atributo referente al texto. Digamos que entro al layout desde la opcion de edición: asocio el boton a la variable "Button btBotonComodin = (Button) findViewById(R.id.button2);" y luego hago algo similar a esto... btBotonComodin.setText = "Editar" -el comando es imaginario -. Del mismo modo, si entro al layout desde la opción de crear uno nuevo repito los pasos hasta esto... btBotonComodin.setText = "Nuevo"."
De este modo un mismo botón realizaría dos funciones diferentes en función del origen de acceso al layout (que se pasaría mediante un intent), cambiando también el texto que contiene.
De nuevo gracias por el interés y la respuesta ;).
Un saludo
|
|
|
|
Posición: Administration
Grupos: Administrators
Registrado: 07/10/2010(UTC) Mensajes: 436  Ubicación: España Agradecimientos: 38 veces Fue agradecido: 49 vez/veces in 48 publicación(es).
|
Buenas! Bueno, eso que comentas tambien se puede, basta con que escribas en eclipse la referencia al boton, pongas el "punto" y eclipse te muestra la lista de cosas que puedes hacer sobre el boton, para este caso es: Código:
b_eliminar.setText("pon aqui tu texto");
bueno espero que te sirva!! nos leemos!! |
|
 1 usuario agradecido admin por esta útil publicación.
|
|
|
AprendeAndroid.com - FORO
»
AREA DE DESARROLLO
»
Android Foro
»
DUDA: Edicion de elemento del layout desde código
Salto de foro
No puedes iniciar nuevos temas en este foro.
No puedes responder a temas en este foro.
No puedes eliminar sus temas en este foro.
No puedes editar sus temas en este foro.
No puedes crear encuestas en este foro.
No puedes votar las encuestas en este foro.