¿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 …

Si alguien tiene una buena idea para conseguirme alrededor de esto, por favor hágamelo saber 🙂

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

  • SurfaceView vs Custom View (ampliado desde la vista). SurfaceView es más lento, ¿Por qué?
  • ¿Cómo agregar GestureOverlayView a mi clase SurfaceView, cómo agregar a la jerarquía de vista?
  • Android - SurfaceView parpadea ya veces no aplica la pintura adecuada
  • Vista en pantalla completa de pantalla oculta snackbar
  • ¿Qué puedo hacer cuando el BufferQueue ha sido abandonado?
  • Cómo obtener HTML5 video URI en HTML5VFullScreen $ SurfaceVideoView en Android 4.0?
  • ¿Cómo cambiar dinámicamente las imágenes en SurfaceView?
  • TarsosDSP y SurfaceView múltiple problema de subprocesamiento
  • Cómo pausar y reanudar un subproceso de surfaceView
  • Android Render y Física en hilos separados?
  • Android: reproduce el mismo video en varias vistas
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.