java - with - start fragment
Android: cómo puede un fragmento tomar una variable global de Actividad (4)
Usar una variable estática pública no es la mejor manera de comunicarse entre una actividad y un fragmento. Vea esta respuesta de otras maneras:
La documentación de Android recomienda usar una interfaz cuando el Fragmento quiere comunicarse con la Actividad. Y cuando la Actividad quiere comunicarse con el Fragmento, la Actividad debe obtener una referencia al Fragmento (con findFragmentById ) y luego llamar al método público del Fragmento.
La razón de esto es que los fragmentos están desacoplados de la actividad en la que se encuentran. Se pueden reutilizar en cualquier actividad. Si accede directamente a una Actividad padre o a una de sus variables globales desde un fragmento, ya no podrá usar ese fragmento en una Actividad diferente.
Tengo una actividad con una variable global int x, ¿cómo se puede fragmentar para obtener el valor actual de la variable x de su actividad?
Versión de Kotlin :
(activity as MyActivity).x
Establezca la var como public static
o use
((MyActivity)getActivity()).getX()
***In your Activity
==================
Bundle args = new Bundle();
args.putInt("something", Whatever you want to pass);
fragA.setArguments(args);
In your Fragment
==================
Bundle args = getArguments();
//whatever you want to get ,get it here.
//for example integer given
int index = args.getInt("index", 0);