Создайте AlertDialog в Android на классе, который расширяет SurfaceView - PullRequest
0 голосов
/ 26 января 2011

Эй, я искал в интернете все выше и ниже.Когда кто-то создает диалог, он делает это в классе, расширяющем Activity.Итак, у меня есть класс extends 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 здесь ....

1 Ответ

1 голос
/ 26 января 2011

Просто используйте контекст, который вы получили в своем конструкторе.

Что касается вашего вопроса ... вы можете разделить его. Вы можете поместить все, кроме 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();
}
...