Ejemplo de AlertDialog dando errores
Soy nuevo en el desarrollo de Java / Android (comencé a aprender ayer por la noche) así que es totalmente posible que esté haciendo algo horriblemente estúpido. Sin embargo, después de más de una hora de búsqueda en Google que he llegado a nada. Estoy usando Eclipse como mi editor.
Estoy leyendo los documentos aquí para AlertDialog
, que da un ejemplo:
- Uso de variables estáticas en Android
- Android: ¿Cuánto sobrecarga se genera ejecutando un método vacío?
- Comunicación multihilo: ¿qué tan bueno es el uso de variables atómicas como AtomicInteger? ¿Por qué no hay AtomicFloat?
- Placeholder Fragmento / Actividad principal android.view.InflateException
- Cómo forzar a detener una aplicación de Android
public static class MyAlertDialogFragment extends DialogFragment { public static MyAlertDialogFragment newInstance(int title) { MyAlertDialogFragment frag = new MyAlertDialogFragment(); Bundle args = new Bundle(); args.putInt("title", title); frag.setArguments(args); return frag; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { int title = getArguments().getInt("title"); return new AlertDialog.Builder(getActivity()) .setIcon(R.drawable.alert_dialog_icon) .setTitle(title) .setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { ((FragmentAlertDialog)getActivity()).doPositiveClick(); } } ) .setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { ((FragmentAlertDialog)getActivity()).doNegativeClick(); } } ) .create(); } }
Originalmente lo re-escribí para que pueda empezar a comprometer algunos de los métodos a la memoria, pero recibió un error "FragmentAlertDialog no se puede resolver a un tipo" . Me golpeó Ctrl + Shift + O para asegurarse de que tenía las importaciones adecuadas, pero aún así no se fue.
Así que copié / pegado el código de ejemplo y hizo lo siguiente, en este orden:
- Pulse Ctrl + Mayús + O para obtener las importaciones correctamente (utilizando
android.app.DialogFragment
, noandroid.support.v4.app.DialogFragment
) - Declarado mi paquete en la parte superior
- Reemplazó
R.string.alert_dialog_ok
yR.string.alert_dialog_cancel
conandroid.R.string.ok
yandroid.R.string.cancel
respectivamente - Eliminado
setIcon()
, ya que no tengo un icono para poner en todavía
Sigo recibiendo errores:
-
FragmentAlertDialog
no se puede resolver a un tipo (x4) - Modificador no válido para la clase
MyAlertDialogFragment
; Solopublic
,abstract
yfinal
son permitidos
¿Estoy haciendo algo mal, o hay algo mal con el código de ejemplo?
- ¿Cómo puedo saber si existen extras de Intent en Android?
- ¿Qué idiomas de programación puedo utilizar para realizar aplicaciones para el sistema operativo Android Mobile?
- Implementación de JPA para Android Development
- Llamada no marcada a ArrayAdapter
- Clases múltiples que extienden la aplicación
- Deserialización polimórfica de JSON con jackson, tipo de propiedad se convierte en "null"
- No se puede ejecutar dex: se definen varios archivos dex
- ¿Puedo hacer un juego HTML5 para Android?
1.FragmentAlertDialog
Asegúrese de que la actividad a la que desee emitir se denomina FragmentAlertDialog
. Asegúrese de guardar también todo – a veces Eclipse no hará la conexión hasta que todo esté guardado.
2.Illegal modificador para la clase MyAlertDialogFragment; Solo público, abstracto y final son permitidos
Elimine el modificador static
:
public class MyAlertDialogFragment extends DialogFragment {
O mantener la static
y mover este fragmento por lo que se adjunta dentro de la actividad que desee. Esto significa que MyAlertDialogFragment
debe estar dentro de su Actividad, antes del cierre de la Actividad.
Soy nuevo en el desarrollo de Java / Android
No empieces con algo tan complicado. Aprenda Java y luego vaya a Android.
Hola intente estos códigos para implementar el diálogo de alerta
AlertDialog.Builder alert2 = new AlertDialog.Builder(this); alert2.setTitle("Your Title"); alert2.setMessage("Your Messages"); final EditText input2 = new EditText(this); input2.setInputType(InputType.TYPE_CLASS_PHONE); alert2.setView(input2); alert2.setPositiveButton(GButton, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { // Do something with value! try { // do your stuff here } catch(Exception e) { } } }); alert2.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { // Canceled. } }); alert2.show();