Home Menu

Menu



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 03/06/12, 03:18:14
Avatar de daurocg
daurocg daurocg no está en línea
Usuario novato en la web
Mensajes: 4
 
Fecha de registro: mar 2012
Mensajes: 4
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
hay alguna forma de crear botones mediante un loop?

saludos, me explico, estoy intentando crear una función que leerá una base de datos y creara un botón para cada elemento de la base, y que cuando se añada un elemento en la base automáticamente al abrir el programa añadirá un botón en la pantalla,

el problema que tengo es que no se como ir creando los botones con distintos nombres en medio de un loop.

iba hacer algo como esto:


db.abrir();
Cursor dau = db.obtenerTodosLosContactos();
if (dau.moveToFirst()) {
do {

Button #nombre del boton que tiene que cambiar#= new Button(this);
tr.addView(Button);
/////////////////////////////////////////
}while (dau.moveToNext());
}
db.cerrar();


hay alguna forma de hacerlo o ya me tiro a crear una variable para saber el numero de elementos de la base y escribo el código para cada posible botón?

Última edición por daurocg Día 03/06/12 a las 10:22:45
Responder Con Cita


  #2  
Viejo 03/06/12, 10:59:23
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Si se puede, pero tendrás que almacenar las referencias de los botones en algún sitio (por ejemplo un ArrayList) para poder asignarle después los eventos.

Eso, o añadirle ya el código del OnClick antes del addView (o después, pero mientras sigas teniendo referencia) y que dependa del nombre del botón.
Responder Con Cita
  #3  
Viejo 03/06/12, 11:58:38
Avatar de daurocg
daurocg daurocg no está en línea
Usuario novato en la web
Mensajes: 4
 
Fecha de registro: mar 2012
Mensajes: 4
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
pero hay como hacer que con cada vuelta que de el "do-while" se cree un botón con una referencia distinta? tipo obtener la referencia del botón de una variable
Responder Con Cita
  #4  
Viejo 03/06/12, 12:06:41
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
Cada vez que haces un new Button(this) estás creando una referencia distinta porque es un objeto nuevo.

Por eso kriogeN te ha dicho que o configuras ese botón recién creado dentro del bucle o guardas las referencias a los botones en un array para luego configurar los eventos o lo que sea.
Responder Con Cita
  #5  
Viejo 03/06/12, 12:38:45
Avatar de daurocg
daurocg daurocg no está en línea
Usuario novato en la web
Mensajes: 4
 
Fecha de registro: mar 2012
Mensajes: 4
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
ok , gracias , ya esta, sabiendo lo que buscar, lo encontré enseguida, tan sencillo como

Button [] bta= new Button[10];
bta[1] = new Button(this);

gracias por los concejos
Responder Con Cita
  #6  
Viejo 03/06/12, 12:44:47
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por daurocg Ver Mensaje
ok , gracias , ya esta, sabiendo lo que buscar, lo encontré enseguida, tan sencillo como

Button [] bta= new Button[10];
bta[1] = new Button(this);

gracias por los concejos
Se puede hacer así, aunque si los botones van a hacer todos lo mismo, y sólo va a cambiar por alguna pequeña condición lo pondría justo después de crearlo y que esa condición dependiese del nombre del botón.

También puedes hacerlo como has puesto, pero recuerda que la numeración de los Array en Java (y en todos los lenguajes con la excepción de Basic) comienza en 0.
Responder Con Cita
Respuesta

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

Herramientas

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: 23:10:50 (GMT +1)

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