Как правильно использовать уведомления Toast на Android? - PullRequest
0 голосов
/ 29 ноября 2011

Кажется, я не могу правильно использовать тост-уведомление.Во всех других моих приложениях он работал отлично, но в этом нет.В этом приложении я начал использовать openGL с фреймворком из книги «Начинающие игры для Android», и теперь я не могу использовать всплывающее уведомление.Я понятия не имею, что делать ... Это не из-за контекста.Как я могу создать контекст, который будет работать?Пожалуйста, помогите мне!это часть моего кода, потому что код слишком длинный:

private void updateReady() {
Coin.number = 0;
if (game.getInput().getTouchEvents().size() > 0) {
    state = GAME_RUNNING;
    Coin.number = 0;
    Num.number = 0;

    Toast.makeText(this, "Start!", Toast.LENGTH_SHORT).show();
    }
}

Когда я помещаю строку:

    Toast.makeText(this, "Start!", Toast.LENGTH_SHORT).show();

в класс, расширяющий Activity, и запускаю его, он просто не 'ничего не делать ... Я пытался превратить его в метод и вызывать его из других классов, но он получил силу близко ...

Ответы [ 4 ]

1 голос
/ 29 ноября 2011

Вы можете попробовать использовать getApplicationContext(), чтобы получить ссылку на текущий Activity контекст

0 голосов
/ 14 июня 2013

Я предполагаю, что вы работаете с этой платформой под названием " Beginning Android Games 2 ".

Согласно этому коду , переменная экземпляра, которая вам здесь нужнаglGame, который является GLGame объектом.Он расширяет Activity , так что вы можете просто сделать это:

Toast.makeText(glGame, "Start!", Toast.LENGTH_SHORT).show();
0 голосов
/ 19 марта 2013

Может быть, это поможет.

Я определил класс следующим образом

    public class tutorialThree extends Activity implements View.OnClickListener

Я пытался использовать тост, как это

    Toast.makeText(this, "Wallpaper set", Toast.LENGTH_SHORT).show();

Не сработало, потому что мой класс реализует этот интерфейс "View.OnClickListener" (или что бы то ни было :)) Так что тост путают со ссылкой «this», вам нужно быть более точным, поэтому добавьте имя вашего класса перед ключевым словом «this», например:

    Toast.makeText(tutorialThree.this, "Wallpaper set", Toast.LENGTH_SHORT).show();

Это решило мою проблему, теперь я вижу тост.

0 голосов
/ 29 ноября 2011

Вы всегда можете сделать контекст приложения или контекст любой активности, с которой вы начинаете GameScreen, доступным статически или передав его в качестве аргумента из того, что создает ваш экземпляр.что, однако, остерегайтесь утечек памяти !

...