Veo en la Guía de desarrollo de Android Fragments que una "actividad puede llamar a métodos en un fragmento al adquirir una referencia al Fragment de FragmentManager, usando findFragmentById()
o findFragmentByTag()
".
El siguiente ejemplo muestra cómo obtener una referencia de fragmento, pero no cómo llamar a métodos específicos en el fragmento.
¿Alguien puede dar un ejemplo de cómo hacer esto? Me gustaría llamar a un método específico en un Fragmento de la Actividad principal. Gracias.
Si está utilizando "import android.app.Fragment;" Luego use:
1)
Donde R.id.example_fragment es más probable que la identificación FrameLayout dentro de su diseño xml. O
2)
Donde FragTagName es el nombre que especificó cuando lo hizo:
Si está utilizando "import android.support.v4.app.Fragment;" Luego use:
1)
O
2)
fuente
Si está utilizando una biblioteca de soporte, querrá hacer algo como esto:
fuente
((FragmentName) getFragmentManager().findFragmentById(R.id.fragment_id)).methodName();
2. Si está utilizando un Fragmento de biblioteca de soporte, haga lo siguiente:
((FragmentName) getSupportFragmentManager().findFragmentById(R.id.fragment_id)).methodName();
fuente
Creo que lo mejor es verificar si se agrega un fragmento antes de llamar al método en fragmento. Haga algo como esto para evitar una excepción nula.
fuente
Del fragmento a la actividad:
De actividad a fragmento:
FragmentManager fm = getSupportFragmentManager ();
Si agregó un fragmento a través del código y usó una cadena de etiqueta cuando agregó su fragmento, use findFragmentByTag en su lugar:
fuente
Primero creas un método a tu
fragment
gustoen tu
activity
añades estoagregar
onCreate()
métodofinalmente llame al método donde desea llamar agregue esto
prueba este código
fuente
fuente
No lo sé
Java
, pero enC#
(Xamarin.Android) no hay necesidad de buscar el fragmento cada vez que necesita llamar al método, vea a continuación:Creo que en
Java
ti puedes hacer lo mismo.fuente
También se llama método de fragmentos usando una interfaz como
primero creas la interfaz
después de crear la interfaz, implemente la interfaz en su fragmento
y creas la referencia de interfaz en tu actividad
fuente
fuente