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