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 08/05/12, 23:40:31
Avatar de monchyrcg
monchyrcg monchyrcg no está en línea
Miembro del foro
Mensajes: 384
 
Fecha de registro: sep 2011
Localización: Cartagena
Mensajes: 384
Modelo de smartphone: LG Optimus Black
Versión de ROM: v10d
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Refrescar layout

Buenas noches, tengo un LinearLayout que relleno con botones tal que así. Decir que estos botones son tantos como tablas tengas en una base de datos, por eso lo creo así.

Código:
linear = new LinearLayout(this);
linear.setOrientation(LinearLayout.VERTICAL);
			
scroll.addView(linear);
			
Cursor c = baseDatos.cursor();
int i = 0;
while(c.moveToNext()){
	 button = new Button(this);
	 button.setId(i);
	 button.setText(nombres[i]);
	 registerForContextMenu(button);
	 if(!nombres[i].equals("android_metadata"))
		 linear.addView(button);
	 i++;
}
A estos botones le he registrado un menu contextual , con las opciones de renombrar y eliminar, esto me funciona muy bien, el problema es que hasta que no salgo y entro en la activity no veo el resultado. Mi pregunta es como hago para que aparte de cambiarlo en la base de datos me aparezca instantaneamente en la activity.

Ahora mismo hago una chapuza grandisima, que es cerrar la activity y volver a abrirla, se que no esta bien hecho así pero como lo puedo hacer . Aun así os pongo el código de mi chapuza

Código:
baseDatos.renombrar(nuevoNombre.getText().toString(),nombres[pr]);
dialogo.dismiss();
EjercicioVer.this.finish();
startActivity(new Intent(EjercicioVer.this,EjercicioVer.class));
Muchas gracias, un saludo.
Responder Con Cita


  #2  
Viejo 09/05/12, 09:56:28
Avatar de Arasthel
Arasthel Arasthel no está en línea
Cocinero veterano
Mensajes: 1,946
Compra y venta: (1)
 
Fecha de registro: jun 2009
Localización: Almería
Mensajes: 1,946
Modelo de smartphone: Nexus 5
Versión de ROM: DroidKang
Tu operador: Amena
Mencionado: 393 comentarios
Tagged: 1 hilos
Nunca he tenido que hacer algo así, pero es posible que tengas que decirle al LinearLayout que tiene que refrescar su vista, con "linear.invalidate()". Normalmente a mí no he ha hecho falta hacer esto, pero también es verdad que yo los layouts y vistas los cojo siempre desde xmls.

Un saludo.
Responder Con Cita
  #3  
Viejo 09/05/12, 12:04:50
Avatar de monchyrcg
monchyrcg monchyrcg no está en línea
Miembro del foro
Mensajes: 384
 
Fecha de registro: sep 2011
Localización: Cartagena
Mensajes: 384
Modelo de smartphone: LG Optimus Black
Versión de ROM: v10d
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Eso lo tenia probado y no funciona. Muchas gracias!

Alguna opción más.
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:52:54 (GMT +1)

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