我正在编写我的第一个Android应用程序,我在一个活动中遇到了一些问题。我正在尝试添加tts和计时器,它们将在按钮按下时激活。我对此有几个问题,并将我的问题分成单独的线程:)。让我先从tts问题开始。
当我添加tts函数onInit时它工作正常。当我把它作为随机随机它读取字符串作为一个长句,但它读取它。但是当我添加tts调用一个按钮时,我需要读取2个字符串,......
Button Start = (Button)findViewById(R.id.btnStart);
Start.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
// Intent myIntent = new Intent(getBaseContext(), MainActivity.class); //put timer start here
// startActivity(myIntent);
tts.speak(voice[2], TextToSpeech.QUEUE_FLUSH, null); //falls through to 4 and timer does not start.
tts.speak("... ",TextToSpeech.QUEUE_FLUSH, null);
tts.speak(voice[0], TextToSpeech.QUEUE_FLUSH, null);
Timer1.start();
//pause here 5 seconds
//Timer2.start();
//pause here 5 minutes
// Timer3.start();
//continue code from here
// startActivity(myIntent);
}
});
.......我不得不取出Intent,否则会导致项目崩溃。当我这样做时,它会通过,只读取最后一个字符串。当我添加可能写错的定时器调用时,它会使项目崩溃。我想我已经正确编写了定时器函数,但这是下一个线程。我知道我写错了。但是我可以在任何地方找到一个如何做到这一点的例子。
所以我需要帮助: 1.让按钮从暂停的数组中读取几个字符串 2.正确编写函数调用以激活计时器
我有一个基本的java编程类,这是我的第一个Android应用程序。任何帮助将不胜感激。
答案 0 :(得分:0)
使用 QUEUE_ADD 代替 QUEUE_FLUSH 。