Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
some_name
Вежливость-главное оружие
221 / 221 / 55
Регистрация: 19.02.2013
Сообщений: 1,430
#1

AlertDialog - Android

29.05.2014, 00:05. Просмотров 558. Ответов 2
Метки нет (Все метки)

ЗДравствуйте!

Имеется простая игра. Когда ХП игрока == 0, я останавливаю игру и хочу показать AlerDialog. Рисуется все на канвас. Вот активити, на котором играю Main.xml:

XML
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >
</LinearLayout>
Что бы показать алерт диалог, делаю так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("Game Over.").setCancelable(false)
                            .setPositiveButton("Try Again", new DialogInterface.OnClickListener() {
 
                                public void onClick(DialogInterface arg0, int arg1) {
                                    surface.startGame();
                                }
                            }).setNegativeButton("Exit", new DialogInterface.OnClickListener() {
 
                                public void onClick(DialogInterface dialog, int which) {
 
                                }
                            });
        builder.show();
Однако, ничего не происходит, просто белый экран. В чес мб причина?

Заранее спс!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2014, 00:05     AlertDialog
Посмотрите здесь:

Android AlertDialog Error
Android Не показывается AlertDialog
Потоки и AlertDialog Android
Custom AlertDialog Android
ListView+onCreateContextMenu->AlertDialog Android
Android Изменить цвет AlertDialog
Android TextView а AlertDialog
Android AutoShow keyboard in AlertDialog
Не работает AlertDialog Android
Android Spinner в AlertDialog
Android AlertDialog и RadioGroup
Android AlertDialog вылезает за разметку

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
29.05.2014, 00:17     AlertDialog #2
Думаю дело не в диалоге, а в условии.
Можете весь код показать?
some_name
Вежливость-главное оружие
221 / 221 / 55
Регистрация: 19.02.2013
Сообщений: 1,430
29.05.2014, 00:36  [ТС]     AlertDialog #3
В классе MainActivity я реализую интерфейс GameOverListener:

Java
1
2
3
4
public interface GameOverListener {
 
    public void gameOverInit();
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class MainActivity extends Activity implements GameOverListener {
 
    @Override
    public void gameOverInit() {
 
        surface.stopGame();
        Log.d("Log", "gameOverInit");
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
        alertDialogBuilder.setTitle("Game over");
        alertDialogBuilder.setMessage("You lost. Click yes to exit!").setCancelable(false)
                            .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
 
                                public void onClick(DialogInterface dialog, int id) {
                                    MainActivity.this.finish();
                                }
                            }).setNegativeButton("No", new DialogInterface.OnClickListener() {
 
                                public void onClick(DialogInterface dialog, int id) {
                                    surface.startGame();
                                }
                            });
        AlertDialog alertDialog = alertDialogBuilder.create();
        alertDialog.show();
    }
surface.stopGame();
Кликните здесь для просмотра всего текста

Останавливает поток, в котором создаются боты, останавливает отрисовку всех юнитов, останавливает проигрывание музыки:
Java
1
2
3
4
5
6
7
8
public void stopGame() {
 
        timerForDrawer.cancel();
        timerForDrawer.purge();
        drawer.cancel();
        botsFactory.stopGeneratorBots();
        mediaPlayer.release();
    }


Это событие(gameOverInit) вызывается, когда у Player 0 ХП:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public boolean checkBulletHit(Bullet bullet) {
 
        if (!bullet.isOwnerBot()) {
            return false;
        }
        if (containsPoint(bullet.x, bullet.y)) {
            if (hitPoints > 0) {
                hitPoints -= Bullet.DAMAGE;
            } else {
                gameOverListener.gameOverInit();
            }
            return true;
        }
        return false;
    }
Я только что проверил создание Alerta на в дургом проекте - все ок. Мне кажется это из-за Canvas.
Если так, то что делать? И какие еще мб варианты?
Yandex
Объявления
29.05.2014, 00:36     AlertDialog
Ответ Создать тему
Опции темы

Текущее время: 07:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru