studio full from codepath activity android android-dialogfragment android-context

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