我从另一个有意图的活动开始活动。第二个活动没有任何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方法。
答案 0 :(得分:1)
您应该将来自SpeechWhenMotion()
的{{1}}从onCreate()
转移到onInit()
方法。 TextToSpeech.OnInitListener
的重点是,在初始化完成后,您将获得TextToSpeech.OnInitListener
的回调。
你是正确的,在onCreate()中调用它太早了 - 你必须等待onInit()。