Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 执行方法前的延迟_Java_Android_Delay - Fatal编程技术网

Java 执行方法前的延迟

Java 执行方法前的延迟,java,android,delay,Java,Android,Delay,我从另一项活动开始一项活动,并有目的。第二个活动没有任何UI,它只是初始化一些变量并自动执行一个进行某些处理的方法 首先,我从onCreate开始调用这个方法,但是在这个方法中,我使用了一些必须实现一些接口的功能,因此,我认为这些方法在初始化之前就已经被执行了 所以我的问题是,当我启动一个新的活动时,如何自动启动一个方法,但在启动之前给它一些时间,让实现的接口初始化 更新-- public class GameActivity extends Activity implements TextTo

我从另一项活动开始一项活动,并有目的。第二个活动没有任何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方法。

您应该将调用从
onCreate()
移动到
onInit()
方法,从
TextToSpeech.onInitListener
移动到
TextToSpeech.OnInitListener
的全部要点是,初始化完成后,您将获得对
onInit()的回调


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

您可以添加一些代码吗,我认为您的代码中存在概念上的错误。您看过Android吗?您不需要为“接口初始化”提供任何额外的时间。。。一定是出了什么问题。你能发布一个可以验证的示例代码吗?@Hirak我说这是额外的时间,因为我一直在寻找这个问题,所有人都说发生这种情况是因为它在onInit()函数之前先被speak方法调用。@turbo我添加了代码,就像你说的,也许如果我在onResume()中调用该方法的话方法,而不是在onCreate()中,它有更多的时间来初始化所需的内容?