Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Android 声音池空指针_Android_Nullpointerexception_Soundpool - Fatal编程技术网

Android 声音池空指针

Android 声音池空指针,android,nullpointerexception,soundpool,Android,Nullpointerexception,Soundpool,我的应用程序是一个儿童应用程序,有4个游戏(单独的活动),都需要相同的声音。当应用程序第一次打开时,我将150个1-2秒的声音加载到与这些活动(Config.java)不同的类中的SoundPool文件中。从4个游戏中的任何一个游戏中恢复应用程序时,我会检查SoundPool是否仍加载了以下内容: @Override protected void onResume() { super.onResume(); if (Config.spool != null) {} els

我的应用程序是一个儿童应用程序,有4个游戏(单独的活动),都需要相同的声音。当应用程序第一次打开时,我将150个1-2秒的声音加载到与这些活动(Config.java)不同的类中的SoundPool文件中。从4个游戏中的任何一个游戏中恢复应用程序时,我会检查SoundPool是否仍加载了以下内容:

@Override
protected void onResume() {
    super.onResume();
    if (Config.spool != null) {}
    else {
    Intent intent = new Intent(this, MainActivity.class);
    startActivity(intent);}
}
其中MainActivity(在onCreate中)调用Config.java重新创建声音池,提供3秒钟的加载/徽标屏幕,然后将用户带回GameSelector活动,用户可以在其中选择游戏。通过测试,我没有遇到任何空指针异常。我在3周前发布了这个应用程序,昨天我在一个游戏的onCreate中请求播放声音时收到了第一个空指针报告(这是第243行):

这是否可能是因为声音池未完全加载?我不能重复这个问题。强制关闭报告的堆栈跟踪:

java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.zenlifegames.teachtryabc123/com.zenlifegames.teachtryabc123.Game2Show}:     java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
at android.app.ActivityThread.access$700(ActivityThread.java:143)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4950)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.zenlifegames.teachtryabc123.Game2Show.setImages(Game2Show.java:243)
at com.zenlifegames.teachtryabc123.Game2Show.onCreate(Game2Show.java:57)
at android.app.Activity.performCreate(Activity.java:5179)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
... 11 more

我已经准备好按要求发布代码,只是不确定什么会有帮助,什么会把问题弄得一团糟。提前谢谢

是的,谢谢!我的问题中有第243行,但直到一分钟前我想编辑它时才指出它是什么。所以,我知道我指向的声音资源是空的,我只是不知道为什么它是空的。这一行上有几个东西可能是空的。试着用调试器运行它,看看它是哪个。如果可以的话,有时候这些东西不是很容易复制的。我确信voice和currentIndex不是空的,因为它们在前面的方法中使用,没有问题。null是Config.alphabetSoundsArray_voice2上的声音资源为了澄清,调试对我没有帮助,因为我无法复制null指针异常。这是我从google play用户那里得到的一份报告。
java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.zenlifegames.teachtryabc123/com.zenlifegames.teachtryabc123.Game2Show}:     java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
at android.app.ActivityThread.access$700(ActivityThread.java:143)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4950)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.zenlifegames.teachtryabc123.Game2Show.setImages(Game2Show.java:243)
at com.zenlifegames.teachtryabc123.Game2Show.onCreate(Game2Show.java:57)
at android.app.Activity.performCreate(Activity.java:5179)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
... 11 more