Ich brauche mein MediaPlayer-Objekt, um als Klassenvariable sichtbar zu sein, anstatt lokal zu erstellen.MediaPlayer-Definition außerhalb onCreate wirft NullpointerException?
Aber wenn ich versuche, es zu initiieren wie this-
public class TextAct extends AppCompatActivity
{
MediaPlayer wavesMp = MediaPlayer.create(this, R.raw.river);//Line 132
@Override
protected void onCreate(Bundle savedInstanceState)
{
.
.
}
Dieser schlägt mit gleichen Fehler wie gut
public class TextAct extends AppCompatActivity
{
MediaPlayer wavesMp; //Line 132
@Override
protected void onCreate(Bundle savedInstanceState)
{
wavesMp= MediaPlayer.create(this, R.raw.river);
.
}
Logcat sagt-
Prozess: com.app24 .gg.relaaax, PID: 24202 java.lang.RuntimeException: Die Aktivität kann nicht instanziiert werden> ComponentInfo {com.app24.gg.relaaax/com.app 24.gg.relaaax.TextAct}: java.lang.NullPointerException bei android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2126) bei android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2249) bei android. app.ActivityThread.access $ 800 (ActivityThread.java:141) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1212) bei android.os.Handler.dispatchMessage (Handler.java:102) bei Android .os.Looper.loop (Looper.java:136) bei android.app.ActivityThread.main (ActivityThread.java:5113) bei java.lang.reflect.Method.invokeNative (Native Methode) bei java.lang. reflect.Method.invoke (Methode.java:515) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (Zy goteInit.java:793) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:609) bei dalvik.system.NativeStart.main (native Methode) Verursacht durch: java.lang.NullPointerException bei android.content.ContextWrapper.getResources (ContextWrapper.java:89) bei android.view.ContextThemeWrapper.getResources (ContextThemeWrapper.java:78) bei android.media.MediaPlayer.create (MediaPlayer.java:844) bei com. app24.gg.relaaax.TextAct. (TextAct.java:132)