android - full - pasando el contexto como argumento de DialogFragment
fullscreen dialogfragment android (4)
¿Es posible pasar una variable de contexto a un DialogFragment?
He usado este código dentro del diálogo para pasar una cadena:
public static ConfirmDialog newInstance( String f) {
ConfirmDialog d = new ConfirmDialog();
Bundle args = new Bundle();
args.putString("FILE_NAME", f);
d.setArguments(args);
return d;
}
pero no encuentro ninguna función como putString para pasar el contexto. ¿Es posible hacer eso?
Su DialogFragment
tiene un método muy útil para obtener una instancia de Context
:
getActivity()
Fragment#getActivity()
devolverá la instancia de la Activity
(que es un Context
) al que se adjunta el Fragment
. Úselo después de onAttach()
al Fragmento onAttach()
. La siguiente tabla ilustra el ciclo de vida del Fragment
, como puede ver, el uso de getActivity()
de onCreate()
a onDestroy()
debe ser una llamada válida.
Para más información, lea la documentación del Fragment
utilizar así:
public class Dialog extends DialogFragment implements OnClickListener {
public void onClick(View v) {
switch (v.getId()) {
case R.id.message: {
this.startActivity(new Intent(context, Login.class));
//or use getActivity() instead of context
}
break;
}
}
@Override
public void onAttach(Activity activity) {
// TODO Auto-generated method stub
super.onAttach(activity);
context=activity;
}
}
onAttach (Actividad) ahora está en desuso,
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
}
use onAttach (contexto contextual) en su lugar
@Override
public void onAttach(Context context) {
super.onAttach(context);
}
@Override
public void onAttach(Activity activity) {
// TODO Auto-generated method stub
super.onAttach(activity);
context=activity;
}
Necesidad de utilizar el método onAttach: para el fragmento de diálogo