![]() |
|
| 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 |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#1
|
|
Ayuda. [CheckBox en fragmentDialog. isChecked en la actividad]
Hola.
necesito una mano con un método si alguien puede ayudarme. Bueno, resulta que por razones de estetica y para no llenar mi pantalla principal, me decidí crear un dialogo personalizado en el cual puse un checkbox y un boton. por medio de SharedPreferences guardo los estados del checkbox. Ahora bien, si en mi actividad principal trato de saber en que estado se encuentra el checckbox, no se puede porque da error. Esto se debe porque el widget está en un layout inflado por el dialogo. Yo quiero y necesito setear ese checkbox o llamarlo, o nombrarlo en mi actividad principal para poder saber su estado y así poner mis funcion. Desde ya muchas gracias. Un saludo. |
|
|
|
#2
|
||||
|
||||
|
Cita:
Para establecer el valor inicial al mostrar el DialogFragment: Haces el get. En el onCheckedChanged del CheckBox: Haces el set. |
| Gracias de parte de: | ||
|
#3
|
|
|
Cita:
necesito saber en la actividad principal si el checkbox está isChecked. if (check.isChecked()) { hago lo que necesito aquí } pero en la actividad, no en el dialogo. Dialogo: [PHP]public class LoginDialog extends DialogFragment { private static final String TAG = LoginDialog.class.getSimpleName(); CheckBox check; private String CHECK = "1"; //private TextView textD; public LoginDialog() { } @override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.dialog_signin, container, false); check = (CheckBox) view.findViewById(R.id.checkBoxJavy); Button signup = (Button) view.findViewById(R.id.crear_boton); //signup.setOnClickListener(this); signup.setOnClickListener( new View.OnClickListener() { @override public void onClick(View v) { savePreferences("CHECKBOX", check.isChecked()); if (check.isChecked()) { dismiss(); } } } ); //loadSavedPreferences(); } return view; } private void loadSavedPreferences() { SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(getActivity()); boolean cbValue = sp.getBoolean("CHECKBOX", false); if (cbValue) { check.setChecked(true); } else { check.setChecked(false); } } private void savePreferences(String key, boolean value) { SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(getActivity()); SharedPreferences.Editor edit = sp.edit(); edit.putBoolean(key, value); edit.commit(); } private void savePreferences(String key, String value) { SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(getActivity()); SharedPreferences.Editor edit = sp.edit(); edit.putString(key, value); edit.commit(); } }[/PHP] |
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 15:07:13 (GMT +1)
HTCMania: líderes desde el 2007






