0

ねえ、だから私はこれをインターネットで高低で検索しました。誰かがダイアログを作成するときはいつでも、Activityを拡張するクラスでそれを行います。そのため、SurfaceViewを拡張するクラスがあり、ゲーム内のプレーヤーが特定の数の敵を破壊するたびにダイアログを表示する必要があります。

どうすればよいですか?オンラインからコピーしたコードでエラーが発生し続けます。

これは私のクラスです:-

class SurvivorPanel extends SurfaceView implements SurfaceHolder.Callback 

これは私のコンストラクタです:-

 public SurvivorPanel(Context context) { // set panel's holder & thread
    super(context);
    getHolder().addCallback(this);
    _thread = new TutorialThread(getHolder(), this);
    setFocusable(true);
}

ここでAlertDialogを作成する方法を教えてください。

4

1 に答える 1

1

コンストラクターで受け取ったコンテキストを使用するだけです。

あなたの質問に関して...あなたはそれを分けることができます。を除くすべてをdialog.show()コンストラクターに入れることができます。dialog.show()その後、dialog.dismiss()他の場所で実行できます。

private AlertDialog dialog;

public Constructor(Context context){
    AlertDialog.Builder builder = new AlertDialog.Builder(context);
    dialog = builder.setTitle("The title")
        .setMessage("The content")
        .create();
    dialog.show();
}

public void someWhere(){
    dialog.show();
    // or when you want to close it:
    dialog.dismiss();
}
于 2011-01-26T19:06:36.637 に答える