2016-07-01 4 views
1

私は自分のMediaPlayerオブジェクトを、oncreateにローカルではなくクラス変数として表示する必要があります。onCreateの外側のMediaPlayer定義がNullpointerExceptionをスローしますか?

私はthis-

public class TextAct extends AppCompatActivity 
{ 

    MediaPlayer wavesMp = MediaPlayer.create(this, R.raw.river);//Line 132 
    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
    . 
    . 
    } 

のようにそれを開始しようとするが、これは、同じエラーで失敗し、よく

public class TextAct extends AppCompatActivity 
{ 

    MediaPlayer wavesMp; //Line 132 
    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
    wavesMp= MediaPlayer.create(this, R.raw.river); 
    . 
    } 

Logcat says-

プロセスとして:com.app24 .gg.relaaax、PID:24202 java.lang.RuntimeException:アクティビティをインスタンス化できません> ComponentInfo {com.app24.gg.relaaax/com.app 24.gg.relaaax.TextAct}:java.lang.NullPointerException android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2126) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249) at android。 app.ActivityThread.access $ 800(ActivityThread.java:141) android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1212) (android.os.Handler.dispatchMessage(Handler.java:102) 、android)にあります。 .os.Looper.loop(Looper.java:136) android.app.ActivityThread.main(ActivityThread.java:5113) at java.lang.reflect.Method.invokeNative(ネイティブメソッド) at java.lang。 reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(Zyでjava.lang.NullPointerExceptionが :goteInit.java:793)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)dalvik.system.NativeStart.main(ネイティブメソッド) で に起因しますandroid.content.ContextWrapper.getResources(ContextWrapper.java:89) android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:78) android.media.MediaPlayer.create(MediaPlayer.java:844) at com。 app24.gg.relaaax.TextAct。(TextAct.java:132)

答えて

0

MediaPlayerはコンテキストが必要です。 onCreateメソッドが呼び出されない場合、Activityは準備されておらず、Contextは使用できません。

関連する問題