En mi aplicación tengo un formulario que el usuario rellene. Pulsando el botón «guardar» los datos serán guardados en la base de datos local. Quiero añadir un diálogo de confirmación para que el usuario revise los detalles entró antes de seguir, ya que los detalles son cruciales.

En mi dialogFragment ejemplo, me gustaría tener algo como: «Usted está entrando en estos detalles: a,B,C…» ¿confirmar?»

A,B,C son los valores de mi EditText campos de la actividad que llama a la dialogFragment

¿Cómo puedo acceder a los valores de la dialogFragment? Yo estoy usando:

new ConfirmSaveProjectDetails().show(getFragmentManager(),"Confirm");

en mi actividad. ConfirmSaveProjectDetails es mi dialogFragment clase.

No estoy utilizando una Intención, de lo contrario iba a enviar un Paquete…

Alguna sugerencia?

OriginalEl autor Mirko | 2012-10-11

3 Comentarios

  1. 30

    Usted puede agregar argumentos en la forma de un paquete en el Fragmento y luego recuperarlos desde el fragmento. El uso de los siguientes métodos disponibles en un Fragmento:

    setArguments y getArguments.

    Pasar como argumentos a los Fragmentos constructor es siempre una opción.

    Oh mi es que eso era trivial :/
    setArgument todavía funciona, pero utilizando el constructor para pasar argumentos ahora los resultados en este error (SDK de Android 21.1): «Este fragmento debe proporcionar un constructor por defecto (un constructor público sin argumentos)»
    Al definir su propio (no por defecto) constructor que también se necesitan para definir un constructor público predeterminado. Bajo ciertas circunstancias, el Fragmento se recrea y el constructor por defecto se llamó, después de que onCreate etc. le llamó con un no-null paquete. Usted podría utilizar el paquete para restaurar los datos de instancia como la que puede haber inicializado a partir de los datos que se pasan al constructor. La OMI mediante setArguments es mejor ya que el paquete es serializado y que sólo necesitan llamar a getArguments para obtener los datos en el Fragmento de (re)creación.

    OriginalEl autor PJL

  2. 1

    Tal vez no sea la más bonita/elegante método, pero se podría hacer esos bits de información public static y, a continuación, se hace referencia a ellos en el cuadro de diálogo.

    En la actividad/fragmento donde se recopilan los datos:

    public static String A
    public static String B
    public static String C

    Y lo agarra en el cuadro de diálogo fragmento como (disculpas si me estoy explicando algo que usted ya sabe):

    your_activity/fragment_classname.A
    your_activity/fragment_classname.B
    your_activity/fragment_classname.C

    OriginalEl autor Barak

  3. 1

    En su Actividad

    ImageViewDialogFragment dialogFragment = new ImageViewDialogFragment ();
                            Bundle bundle = new Bundle();
                            bundle.putString("link",moviesList.get(position).getImage());
                            dialogFragment.setArguments(bundle);
                            dialogFragment.show((GalleryReviewActivity.this).getSupportFragmentManager(),"Image Dialog");

    en su DialogFragment

     Bundle bundle = getArguments();
     String imageLink = bundle.getString("link","");

    OriginalEl autor Arpit Patel

Dejar respuesta

Please enter your comment!
Please enter your name here