执行方法前的延迟

时间:2014-05-12 13:20:16

标签: java android delay

我从另一个有意图的活动开始活动。第二个活动没有任何UI,它只是初始化一些变量并自动执行一些处理的方法。

首先我启动这个方法从onCreate调用它,但是在方法中我使用了一些必须实现某些接口的功能,所以,我认为这些方法在它们有时间初始化之前就已经执行了。

所以我的问题是如何在我开始一个新活动时自动启动一个方法,但是在开始之前给它一些时间,让实现的接口初始化。

更新 -

public class GameActivity extends Activity implements TextToSpeech.OnInitListener {

    private static TextToSpeech tts;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.game);

        tts = new TextToSpeech(this, this);
        //...
        SpeechWhenMotion();
    }


    public void SpeechWhenMotion() {
        //...
        tts.speak("Inicializando...", TextToSpeech.QUEUE_ADD, null);
        //...
    }

它没有说话,因为它没有时间从onInitListener调用onInit方法。

1 个答案:

答案 0 :(得分:1)

您应该将来自SpeechWhenMotion()的{​​{1}}从onCreate()转移到onInit()方法。 TextToSpeech.OnInitListener的重点是,在初始化完成后,您将获得TextToSpeech.OnInitListener的回调。

你是正确的,在onCreate()中调用它太早了 - 你必须等待onInit()。