Android应用程序意外崩溃

时间:2016-02-02 12:11:11

标签: java android

我是Android开发的新手,最近开始了一个项目,以获得WiFi SSIDBSSIDMAC地址。但是,该应用程序在打开后立即意外崩溃。

Android Studio中的错误日志表示:

FATAL EXCEPTION: main
Process: com.example.android.wifi, PID: 3875

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.android.wifi/com.example.android.wifi}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference
at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2993)
at
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3248)
at ...
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference
at
android.app.Activity.findViewById(Activity.java:2277)
at
com.example.android.wifi.MainActivity.<init>(MainActivity.java:16)
at ...

我的java文件位于http://www.yikjin.ga/MainActivity.java

Android Studio没有录制语法错误。

提前致谢!

2 个答案:

答案 0 :(得分:2)

您的错误似乎是在尝试将View放在班级的构造函数中,或者在外面调用findViewById()

com.example.android.wifi.MainActivity.<init>(MainActivity.java:16)

调用onCreate()

后,将这些代码移至setContentView()方法

<强>更新

更改

TextView viewWifiSSID = (TextView) findViewById(R.id.network);
TextView viewWifiBSSID = (TextView) findViewById(R.id.bssid);
TextView viewWifiMAC = (TextView) findViewById(R.id.mac);  

TextView viewWifiSSID;
TextView viewWifiBSSID;
TextView viewWifiMAC;

并在onCreate()

之后将以下内容添加到setContentView()
viewWifiSSID = (TextView) findViewById(R.id.network);
viewWifiBSSID = (TextView) findViewById(R.id.bssid);
viewWifiMAC = (TextView) findViewById(R.id.mac);

答案 1 :(得分:1)

您在创建活动之前引用对象...在创建活动时调用GET /projects/{id},因此请在onCreate()内引用对象...

onCreate()