java - Playing sound via button crash (Android) -
i have 3 buttons, when buttons tapped sound play. reason starting error now, after implemented 3 buttons. when did 1 button, played sound no error. after implemented 2 more, app started crash.
here code button in .xml
<button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="play!" android:id="@+id/play1" android:layout_below="@+id/imageview" android:layout_toleftof="@+id/play3" android:layout_tostartof="@+id/play3" /> and here code in mainactivity.java
// final mediaplayer mp = mediaplayer.create(this, r.raw.sounds1); // final mediaplayer mp2 = mediaplayer.create(this, r.raw.sounds2); // final mediaplayer mp3 = mediaplayer.create(this, r.raw.sounds3); @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); // button play_button = (button)this.findviewbyid(r.id.play1); //// button play_button2 = (button)this.findviewbyid(r.id.play2); //// button play_button3 = (button)this.findviewbyid(r.id.play3); // // play_button.setonclicklistener(new view.onclicklistener() { // public void onclick(view v) { // // // mp.start(); // } // }); // // play_button2.setonclicklistener(new view.onclicklistener() { // public void onclick(view v) { // // // mp2.start(); // } // }); // // play_button3.setonclicklistener(new view.onclicklistener() { // public void onclick(view v) { // // // mp3.start(); // } // }); } here log too!
java.lang.runtimeexception: unable instantiate activity componentinfo{com.sounds.apps.sounds/com.sounds.apps.sounds.mainactivity}: java.lang.nullpointerexception: attempt invoke virtual method 'android.content.res.resources android.content.context.getresources()' on null object reference @ android.app.activitythread.performlaunchactivity(activitythread.java:2209) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2360) @ android.app.activitythread.access$800(activitythread.java:144) @ android.app.activitythread$h.handlemessage(activitythread.java:1278) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:135) @ android.app.activitythread.main(activitythread.java:5221) @ java.lang.reflect.method.invoke(native method) @ java.lang.reflect.method.invoke(method.java:372) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:899) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:694) caused by: java.lang.nullpointerexception: attempt invoke virtual method 'android.content.res.resources android.content.context.getresources()' on null object reference @ android.content.contextwrapper.getresources(contextwrapper.java:85) @ android.view.contextthemewrapper.getresources(contextthemewrapper.java:74) @ android.media.mediaplayer.create(mediaplayer.java:919) @ android.media.mediaplayer.create(mediaplayer.java:902) @ com.sounds.apps.sounds.mainactivity.<init>(mainactivity.java:14) @ java.lang.reflect.constructor.newinstance(native method) @ java.lang.class.newinstance(class.java:1572) @ android.app.instrumentation.newactivity(instrumentation.java:1065) @ android.app.activitythread.performlaunchactivity(activitythread.java:2199) at android.app.activitythread.handlelaunchactivity(activitythread.java:2360) at android.app.activitythread.access$800(activitythread.java:144) at android.app.activitythread$h.handlemessage(activitythread.java:1278) at android.os.handler.dispatchmessage(handler.java:102) at android.os.looper.loop(looper.java:135) at android.app.activitythread.main(activitythread.java:5221) at java.lang.reflect.method.invoke(native method) at java.lang.reflect.method.invoke(method.java:372) at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:899) at com.android.internal.os.zygoteinit.main(zygoteinit.java:694)
@override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); final mediaplayer mp = mediaplayer.create(this, r.raw.sounds1); final mediaplayer mp2 = mediaplayer.create(this, r.raw.sounds2); final mediaplayer mp3 = mediaplayer.create(this, r.raw.sounds3); button play_button = (button)this.findviewbyid(r.id.play1); button play_button2 = (button)this.findviewbyid(r.id.play2); button play_button3 = (button)this.findviewbyid(r.id.play3); play_button.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { mp.start(); } }); play_button2.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { mp2.start(); } }); play_button3.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { mp3.start(); } }); }
Comments
Post a Comment