Avisos

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 25/04/13, 20:25:06
Avatar de varoo10
varoo10 varoo10 no está en línea
Usuario muy activo
Mensajes: 620
Compra y venta: (8)
 
Fecha de registro: jul 2011
Localización: Córdoba
Mensajes: 620
Modelo de smartphone: Samsung Galaxy Note 2
Versión de ROM: Emotion Note II v3.1 [XXDLL7] [4.1.2]
Tu operador: Yoigo
Mencionado: 8 comentarios
Tagged: 0 hilos
AlertDialog y otra duda

Tengo dos dudas que mas o menos son lo mismo...

La primera. Tengo un AlertDialog sencillito con un texto, encabezado y botón Aceptar, entonces lo que quiero conseguir es que al darle a aceptar no aparezca nunca más en la aplicación al iniciarla de nuevo... una especie de changelog al iniciar por primera vez, ahí dejo el código:

(Click para mostrar/ocultar)
Código:
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
	builder.setMessage("Probando" +
	"Pruebas y más pruebas.")
	.setTitle("Características")
	.setCancelable(false)
	.setNeutralButton("Aceptar",
			new DialogInterface.OnClickListener() {
		        public void onClick(DialogInterface dialog, int id) {
		        	dialog.cancel();
		        }
	        });
	
	AlertDialog dialog = builder.create();
	dialog.show();


Y la otra duda es que quisiera hacerle en próximas versiones unas pantallas para saber cómo navegar que solo se vean al inicio y una vez pase la última activity no vuelvan a usarse más pero supongo que el código será más o menos igual.

Gracias de antemano.
Responder Con Cita


  #2  
Viejo 25/04/13, 23:56:15
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
Guarda en SharedPreferences una variable cuando lo muestres, y comprueba su valor antes de mostrarlo.
Responder Con Cita
  #3  
Viejo 26/04/13, 09:15:31
Avatar de varoo10
varoo10 varoo10 no está en línea
Usuario muy activo
Mensajes: 620
Compra y venta: (8)
 
Fecha de registro: jul 2011
Localización: Córdoba
Mensajes: 620
Modelo de smartphone: Samsung Galaxy Note 2
Versión de ROM: Emotion Note II v3.1 [XXDLL7] [4.1.2]
Tu operador: Yoigo
Mencionado: 8 comentarios
Tagged: 0 hilos
Uf aún no me manejo con SharedPreferences... será hora de mirarmelas ya. Ya te cuento cuando lp tenga.

Si sale alguna otra respuesta encantado de oirla.

Cita:
Originalmente Escrito por mocelet Ver Mensaje
Guarda en SharedPreferences una variable cuando lo muestres, y comprueba su valor antes de mostrarlo.
Responder Con Cita
  #4  
Viejo 26/04/13, 11:47:05
Avatar de rinxe
rinxe rinxe no está en línea
Miembro del foro
Mensajes: 260
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Versión de ROM: LineageOS 14.1
Versión de Radio: Los 40
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
Lo que dice el compañero mocelet funciona de maravilla.

En mi caso alguna vez he creado pantallas de estas y lo que he hecho a sido poner un checkbox con un texto al lado "no volver a mostrar".

Entonces al cerrar el AlertDialog si esta marcado el checkbox guardo un valor en SharedPreferences. Asi cada vez que se abra la aplicacion compruebo ese dato y determina si se tiene que mostrar otra vez o no.
Responder Con Cita
  #5  
Viejo 26/04/13, 14:23:18
Avatar de varoo10
varoo10 varoo10 no está en línea
Usuario muy activo
Mensajes: 620
Compra y venta: (8)
 
Fecha de registro: jul 2011
Localización: Córdoba
Mensajes: 620
Modelo de smartphone: Samsung Galaxy Note 2
Versión de ROM: Emotion Note II v3.1 [XXDLL7] [4.1.2]
Tu operador: Yoigo
Mencionado: 8 comentarios
Tagged: 0 hilos
Lo de poner el checkbox era lo que pensaba hacer pero claro no sabía muy bien cómo iba el proceso... Pues voy a leer sobre SharedPreferences.

Gracias a los dos.

Cita:
Originalmente Escrito por rinxe Ver Mensaje
Lo que dice el compañero mocelet funciona de maravilla.

En mi caso alguna vez he creado pantallas de estas y lo que he hecho a sido poner un checkbox con un texto al lado "no volver a mostrar".

Entonces al cerrar el AlertDialog si esta marcado el checkbox guardo un valor en SharedPreferences. Asi cada vez que se abra la aplicacion compruebo ese dato y determina si se tiene que mostrar otra vez o no.
Responder Con Cita
  #6  
Viejo 28/04/13, 10:14:13
Avatar de varoo10
varoo10 varoo10 no está en línea
Usuario muy activo
Mensajes: 620
Compra y venta: (8)
 
Fecha de registro: jul 2011
Localización: Córdoba
Mensajes: 620
Modelo de smartphone: Samsung Galaxy Note 2
Versión de ROM: Emotion Note II v3.1 [XXDLL7] [4.1.2]
Tu operador: Yoigo
Mencionado: 8 comentarios
Tagged: 0 hilos
Podéis facilitarme algún tutorial recomendado sobre SharedPreferences? No me entero muy bien con los cursos que tengo... y ya se sabe que la primera vez duele
Responder Con Cita
  #7  
Viejo 30/04/13, 11:40:10
Avatar de rinxe
rinxe rinxe no está en línea
Miembro del foro
Mensajes: 260
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Versión de ROM: LineageOS 14.1
Versión de Radio: Los 40
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
Aqui te lo explican bastante bien, son 3 lineas de codigo para guardar y otras 3 para recuperar, es muy facil ya lo veras: http://developer.android.com/guide/t...a-storage.html
Responder Con Cita
  #8  
Viejo 30/04/13, 16:03:45
Avatar de varoo10
varoo10 varoo10 no está en línea
Usuario muy activo
Mensajes: 620
Compra y venta: (8)
 
Fecha de registro: jul 2011
Localización: Córdoba
Mensajes: 620
Modelo de smartphone: Samsung Galaxy Note 2
Versión de ROM: Emotion Note II v3.1 [XXDLL7] [4.1.2]
Tu operador: Yoigo
Mencionado: 8 comentarios
Tagged: 0 hilos
Perdonad pero lo conseguí ayer y se me pasó poner el código que hice.

(Click para mostrar/ocultar)
Código:
public void onClick(DialogInterface dialog, int which) {
    	    	  String checkBoxResult = "NOT checked";
    	    	  if (dontShowAgain.isChecked())  checkBoxResult = "checked";
    	    	  	SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
    	  	    	SharedPreferences.Editor editor = settings.edit();
    	  			editor.putString("skipMessage", checkBoxResult);
                    editor.commit();
                  return; 

    	      } });
    	SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
	    String skipMessage = settings.getString("skipMessage", "NOT checked");
		if (!skipMessage.equalsIgnoreCase("checked") ) adb.show();
    }
Responder Con Cita
  #9  
Viejo 01/05/13, 12:51:24
Avatar de rinxe
rinxe rinxe no está en línea
Miembro del foro
Mensajes: 260
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Versión de ROM: LineageOS 14.1
Versión de Radio: Los 40
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
Nada no te preocupes, lo importante es que lo has solucionado A seguir programando la app
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:58:17 (GMT +1)

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