Problemas con el show de alertdialog en el fragmento android
He seguido el ejemplo de Android, pero tengo un error incomprensivo:
void showDialog() { DialogFragment newFragment = MyAlertDialogFragment.newInstance(); newFragment.show(fm, "alert"); } public static class MyAlertDialogFragment extends DialogFragment { public static MyAlertDialogFragment newInstance() { MyAlertDialogFragment frag = new MyAlertDialogFragment(); return frag; } public Dialog onCreateDialog(Bundle savedInstanceState) { return new AlertDialog.Builder(getActivity()).setTitle("test") .setMessage("bla bla bla").create(); } }
newFragment.show(fm, "alert");
Me devuelve un error:
- Android: aumenta AlertDialog desde el subproceso de fondo
- BottomSheetDialogFragment - escucha despedido por evento de usuario
- Cambio de tema de diálogo para cada cuadro de diálogo
- AlertDialog.Builder abre otro AlertDialog.Builder
- Tener la aplicación ejecutándose sobre otra aplicación
El método show (FragmentManager, String) en el tipo DialogFragment no es aplicable para los argumentos (FragmentManager, String)
¿Alguien podría ayudarme?
- Android - Cómo implementar un listbox como un diálogo modal / popup
- Spinner en el diálogo - NullPointerException
- Android - ¿Cómo mostrar un diálogo en una pantalla nativa?
- No puedo ver el progreso de spinner en ProgressDialog en Lollipop
- Diálogo de alerta simple de Android
- Cambiar el estilo de AlertDialog
- Vista web de Android con el botón Atrás, si no
- Cómo cerrar un cuadro de diálogo después de ciertos segundos de inactividad?
El problema es porque necesita utilizar FragmentManager
del paquete de soporte pero está utilizando el FragmentManager
nativo cuando llama a getFragmentManager()
. Intente llamar a getSupportFragmentManager()
al inicializar su variable fm
.
En realidad, después de hacer lo que dice @Jacob, también debe asegurarse de incluir DialogFragment en el paquete de soporte y no en el paquete nativo.
Usted puede hacer eso importando,
import android.support.v4.app.DialogFragment;
En mi caso mi minSDK
se fija a 14
así que no quise utilizar el paquete de la ayuda. Mi problema era que estaba importando el DialogFragment
equivocado así:
import android.support.v4.app.DialogFragment;
Lo cambié a esto y funcionó:
import android.app.DialogFragment;
- ¿Cómo dejar de ejecutar cuando la aplicación va a fondo?
- ¿Cómo crear una notificación sin icono en la barra de estado o simplemente ocultarlo?