Android应用程序错误"不幸的是已停止工作"

时间:2016-03-18 19:55:36

标签: android

所以我能够成功创建一个调用其他弹出窗口的主弹出窗口。我得到了第一个很棒的弹出窗口,但由于某种原因,第二个弹出窗口没有工作。我复制并粘贴了第一个,效果很好。然后我添加了我的所有代码减去xml文档,它再次起作用。最后,当我改变布局时,它没有工作= /。不确定在哪里寻找或尝试。这是布局调用和错误代码。谢谢!

protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.arrestee_popup);

以下是日志

03-18 15:48:24.353 18979-18979/com.f0xcr4f7.intelwatch E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.f0xcr4f7.intelwatch, PID: 18979
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.f0xcr4f7.intelwatch/com.f0xcr4f7.intelwatch.ArresteePop}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
  at android.app.ActivityThread.access$800(ActivityThread.java:151)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
  at android.os.Handler.dispatchMessage(Handler.java:102)
  at android.os.Looper.loop(Looper.java:135)
  at android.app.ActivityThread.main(ActivityThread.java:5254)
  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:903)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
  at com.f0xcr4f7.intelwatch.ArresteePop.onCreate(ArresteePop.java:89)
  at android.app.Activity.performCreate(Activity.java:5990)
  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
  at android.app.ActivityThread.access$800(ActivityThread.java:151) 
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
  at android.os.Handler.dispatchMessage(Handler.java:102) 
 at android.os.Looper.loop(Looper.java:135) 
  at android.app.ActivityThread.main(ActivityThread.java:5254) 
  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:903) 
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

2 个答案:

答案 0 :(得分:0)

  

当我更改布局时,它不起作用

如果您未将findViewById(R.id.your_button)包含在@+id/your_button中,arrestee_popup.xml将返回null。

因此,yourButton.setOnClickListener会引发NullPointerException

答案 1 :(得分:0)

我在保留类中的保存和取消按钮出错了。错误使它看起来像是在xml中错过了前导= /。

    cancelArrestee_Button = (Button) findViewById(R.id.bCancelArrestee);
    saveArrestee_Button = (Button) findViewById(R.id.bSaveArrestee);