java.lang.NullPointerException…崩溃报告
报告如下:java.lang.NullPointerException…崩溃报告,java,android,Java,Android,报告如下: java.lang.RuntimeException: Unable to start activity ComponentInfo{rs.androidaplikacije.zastaveigradovi/rs.androidaplikacije.zastaveigradovi.PogresanOdgovor}: java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(Ac
java.lang.RuntimeException: Unable to start activity ComponentInfo{rs.androidaplikacije.zastaveigradovi/rs.androidaplikacije.zastaveigradovi.PogresanOdgovor}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at rs.androidaplikacije.zastaveigradovi.PogresanOdgovor.onCreate(PogresanOdgovor.java:56)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
... 11 more
它基本上是一个弹出式活动,上面有一些声音,上面写着“错误答案”。这是一节课:
public class PogresanOdgovor extends Activity{
MediaPlayer zvuk;
TextView pogresno;
String tacanOdgovor;
String tacno;
public final int delayTime = 2500;
private Handler myHandler = new Handler();
public void onUserInteraction(){
myHandler.removeCallbacks(zatvoriPopup);
myHandler.postDelayed(zatvoriPopup, delayTime);
}
private Runnable zatvoriPopup = new Runnable(){
public void run(){
finish();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.pogresno);
Bundle extras = getIntent().getExtras();
if(extras !=null) {
tacno = extras.getString("tacanOdgovor");
}
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
boolean zvuci = getPrefs.getBoolean("checkbox", true);
myHandler.postDelayed(zatvoriPopup, delayTime);
inicijalizujVarijable();
if(zvuci == true){
zvuk.start();
}
}
private void inicijalizujVarijable() {
Typeface pogresanFont = Typeface.createFromAsset(getAssets(), "Bebas.ttf");
zvuk = MediaPlayer.create(this, R.raw.aah);
pogresno = (TextView) findViewById(R.id.tvPogresno);
pogresno.setTypeface(pogresanFont);
pogresno.setText("Pogrešan odgovor!\nTačan odgovor je:\n\n" + tacno);
}
}
错误在线:
zvuk.start();
这是我的声音,我不明白。如果有时有效,为什么不总是???之后你有你的MediaPlayer吗?你可以看到我上面的所有代码。我不知道我应该发布它。我应该在什么时候发布它?使用setOnCompletionListener()安装一个监听器,它会在播放媒体时通知您,您可以在那里发布它。另外,如果您过早地停止播放()并且不想继续播放,请释放它。尝试后仍会收到错误报告。我不明白…为什么我偶尔会犯一次错误,而不是一直都会犯??如果我的代码中有错误,它应该会一直崩溃。