¿Creación de AlertDialog con métodos estáticos?
He completado la mayor parte del juego que estoy tratando de hacer y en todo el proyecto he creado una actividad particular que también llama a SurfaceView y un hilo. Puse un método update () en cada una de las 3 clases para que cada uno sepa donde los otros son cada vez que algo cambia. Aparentemente, la única manera de hacer algo como esto es usando métodos estáticos … Esto está bien hasta que una colisión ocurre en mi SurfaceView y quiero decirle a la actividad qué hacer. Puedo transmitir la información, pero entonces no puedo encontrar una manera de hacer un AlertDialog.
Entiendo que no puedo llamar a showDialog () de un método estático, pero no puedo encontrar una manera de hacer un método no estático para llamarlo y luego llamar a ese método desde un estático. He estado buscando una respuesta y he oído algo sobre instanciar el objeto pero no puedo entender lo que eso significa …
- Bandas de colores y artefactos con gradientes a pesar de usar RGBA_8888 en todas partes
- Cambiar el tamaño de la vista de la superficie para el cambio de la relación de aspecto en la visualización de vídeo en android
- Grabar un video de resolución cuadrada en android
- Grabar toda la pantalla, incluida la vista previa de la cámara frontal
- ¿Cómo es que una vista previa de la cámara en una vista de textura es mucho más borrosa que en una vista de superficie?
Si alguien tiene una buena idea para conseguirme alrededor de esto, por favor hágamelo saber 🙂
- SurfaceView parpadea en negro en la carga
- SurfaceView vs TextureView para la cámara?
- Cámara2 con un SurfaceView
- Aplicaciones de Fractal en Android
- Cómo combinar el mapa de bits de superposición y la imagen capturada en android?
- Combinar lienzo y diseño (Android)
- Mostrar mi diseño mientras SurfaceView está cargando Vista previa de cámara
- Cómo implementar doble toque para vista de superficie en android
Aquí es lo que usé:
public static void messageDialog(Activity a, String title, String message){ AlertDialog.Builder dialog = new AlertDialog.Builder(a); dialog.setTitle(title); dialog.setMessage(message); dialog.setNeutralButton("OK", null); dialog.create().show(); }
SurfaceView extiende View y por lo tanto tiene un método getContext ()
Para crear y mostrar su AlertDialog, puede hacer el siguiente código dentro de su SurfaceView
AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); builder.setTitle("title"); builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); Dialog d = builder.create(); d.show();
Esto podría no funcionar como Activity.showDialog (int) si su actividad se reinicia (el cuadro de diálogo puede desaparecer y tendrá que manejar el estado usted mismo).
Espero que esto ayude
- Cambiar el perfil de calidad en SonarQube.com
- Android – ¿Cómo excute el brindis cada 10 segundos usando ScheduledExecutorService?