我是Android开发的新手,最近开始了一个项目,以获得WiFi SSID
,BSSID
和MAC
地址。但是,该应用程序在打开后立即意外崩溃。
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没有录制语法错误。
提前致谢!
答案 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()