如何在没有完成加载上下文的情况下显示toast

时间:2012-06-25 01:43:28

标签: android notifications toast

我的游戏需要很长时间才能从后台加载。在加载时,屏幕是黑色的(约5-7秒,因此用户可能认为它崩溃)。

我决定在进入前景时显示祝酒词。

    protected void onResume() {

        System.out.println("onResume method called");
        Context context = getBaseContext();
//      Context context = getApplicationContext();
        CharSequence text = "i appreciate your patience";

        Toast toast = Toast.makeText(context, text, Toast.LENGTH_LONG);

        toast.show();


        super.onResume();
        wl.acquire();
        if (accelerometerEnabled) {
            accelerometer.enable();
        }
    }

但吐司只在完成恢复后出现(这使得它无用) 我尝试过getApplicationContext,getBaseContext以及Activity本身。 那么是否有可能直接在窗口上添加吐司而没有我的应用程序的上下文? (可能在系统级上下文中)

2 个答案:

答案 0 :(得分:2)

我认为这与你从后台返回的UI线程上的游戏加载有关

尝试将所有非UI线程相关逻辑移动到AsyncTask中。

这应该允许您在游戏加载时看到您的Toast消息。

答案 1 :(得分:1)

这是启动画面可能有用的地方。只需在xml中放置一个覆盖所有UI的启动画面,然后在asynctask中启动加载过程。在asynctask的onPostExecute上,将splash layout的可见性设置为Gone。

不要忘记处理方向更改。