Aar*_*ron 5 static android surfaceview android-alertdialog android-activity
我已经完成了我正在尝试制作的大部分游戏,并且在整个项目中我创建了一个特定的Activity,它也调用了SurfaceView和Thread.我在每个3个类中都放了一个update()方法,这样每个类都会知道每次更改时其他的位置.显然,做这样的事情的唯一方法是使用静态方法......这很好,直到我的SurfaceView发生碰撞,我想告诉Activity要做什么.我可以传递信息,但后来我找不到制作AlertDialog的方法.
我理解我不能从静态方法调用showDialog(),但我找不到一种方法来使用非静态方法来调用它,然后从静态方法调用该方法.我一直在寻找答案,我听说过有关实例化对象的事情,但我无法弄清楚这意味着什么......
如果有人有个好主意让我解决这个问题,请告诉我:)
小智 8
这是我用过的:
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();
}
Run Code Online (Sandbox Code Playgroud)
SurfaceView 扩展了 View,因此有一个 getContext() 方法
要创建并显示 AlertDialog,您可以在 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();
Run Code Online (Sandbox Code Playgroud)
如果您的活动重新启动,这可能无法像 Activity.showDialog(int) 那样工作(对话框可能会消失,您必须自己处理状态)。
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
7700 次 |
| 最近记录: |