从TextToSpeech API中的另一个类调用方法

时间:2011-02-25 15:01:12

标签: android

我正在使用TextToSpeech API,我想将一些逻辑分成另一个类。

在单独的课程中,我提出了以下方法:

public static void sayHello() {
// Select a random hello.
int helloLength = SoundGameScore.Questions.length;
String hello = SoundGameScore.Questions[currentHelloIndex];
currentHelloIndex = (currentHelloIndex + 1) % helloLength;
mTts.speak(hello, TextToSpeech.QUEUE_FLUSH, // Drop all pending entries
                                            // in the playback queue.
        null);

然后我在主类中创建了一个变量:static mainclass object;

在主类的一个按钮中,我使用以下方法通过此对象调用方法:

object.sayHello();

我对android很新,而且我知道我做错了,因为这让我在模拟器中出现了进程关闭错误。这也显示了logcat中的nullexception错误。请帮帮我,谢谢。

1 个答案:

答案 0 :(得分:1)

我认为您获得了NullPointerException,因为引用objectnull。您需要初始化对象以便在其上调用实例方法。

但是,由于sayHello()static方法,因此您无需创建类的实例即可调用该方法。只需使用mainclass.sayHello()

您的问题和代码告诉我您没有多少Java经验。也许在进入Android开发之前,你应该做一些教程来了解你的Java编码。例如,Java约定用于大写的类名(MainClass)和引用具有有意义的名称(即不是object之类的东西)。