我正在使用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错误。请帮帮我,谢谢。
答案 0 :(得分:1)
我认为您获得了NullPointerException
,因为引用object
是null
。您需要初始化对象以便在其上调用实例方法。
但是,由于sayHello()
是static
方法,因此您无需创建类的实例即可调用该方法。只需使用mainclass.sayHello()
。
您的问题和代码告诉我您没有多少Java经验。也许在进入Android开发之前,你应该做一些教程来了解你的Java编码。例如,Java约定用于大写的类名(MainClass
)和引用具有有意义的名称(即不是object
之类的东西)。