Java Android应用程序意外崩溃
我是Android开发的新手,最近开始了一个项目,获取Java Android应用程序意外崩溃,java,android,Java,Android,我是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.andro
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 ...
致命异常:main
进程:com.example.android.wifi,PID:3875
java.lang.RuntimeException:无法实例化活动组件信息{com.example.android.wifi/com.example.android.wifi}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.view.view android.view.Window.findViewById(int)”
在
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2993)
在
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3248)
在
原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.view.view android.view.Window.findViewById(int)”
在
android.app.Activity.findviewbyd(Activity.java:2277)
在
com.example.android.wifi.MainActivity.(MainActivity.java:16)
在
我的java
文件可以在
Android Studio没有记录任何语法错误
提前谢谢 从错误中可以看出,您试图在类的构造函数内部获取
视图,或者在外部调用findViewById()
com.example.android.wifi.MainActivity.<init>(MainActivity.java:16)
到
并将以下内容添加到setContentView()之后的onCreate()
从您的错误来看,您似乎正在尝试在类的构造函数内部获取视图
,或者在外部调用findViewById()
com.example.android.wifi.MainActivity.<init>(MainActivity.java:16)
到
并将以下内容添加到setContentView()之后的onCreate()
在创建活动之前,您正在引用对象<创建活动时会调用code>onCreate()
,因此请参考onCreate()
中的对象
TextView viewWifiSSID, viewWifiBSSID, viewWifiMAC;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewWifiSSID = (TextView) findViewById(R.id.network);
viewWifiBSSID = (TextView) findViewById(R.id.bssid);
viewWifiMAC = (TextView) findViewById(R.id.mac);
getWifi();
}
在创建活动之前,您正在引用对象<创建活动时会调用code>onCreate()
,因此请参考onCreate()
中的对象
TextView viewWifiSSID, viewWifiBSSID, viewWifiMAC;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewWifiSSID = (TextView) findViewById(R.id.network);
viewWifiBSSID = (TextView) findViewById(R.id.bssid);
viewWifiMAC = (TextView) findViewById(R.id.mac);
getWifi();
}
代码在哪里???呜呜声抱歉修复了链接似乎您引用的xml对象名称错误..检查代码在哪里???呜呜声抱歉修复了链接似乎您引用的xml对象名称错误..检查it@MD:
表示类构造函数,这意味着错误就在那里,然后android.app.Activity.findViewById(Activity.java:2277)
显示调用了findViewById
。@MD:除非您可以在没有代码的情况下指出错误。虽然我明白你的意思,但我告诉过你这一点,因为在没有发布代码的情况下,我不会再犯这个错误。实际上,通过回答这些问题,我们鼓励OP再次犯这样的错误。没有别的了+向上一步。我将删除我的答案,这是我今天的最后一票。@MD:我明白你的意思,我没有那样想。非常感谢您的建议。@MD:
表示类构造函数,这意味着存在错误,然后android.app.Activity.findviewbyd(Activity.java:2277)
显示调用了findviewbyd
。@MD:除非您可以在没有代码的情况下指出错误。虽然我明白你的意思,但我告诉过你这一点,因为在没有发布代码的情况下,我不会再犯这个错误。实际上,通过回答这些问题,我们鼓励OP再次犯这样的错误。没有别的了+向上一步。我将删除我的答案,这是我今天的最后一票。@MD:我明白你的意思,我没有那样想。非常感谢你的建议。我认为这会导致变量本地化?我认为这会导致变量本地化?
TextView viewWifiSSID, viewWifiBSSID, viewWifiMAC;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewWifiSSID = (TextView) findViewById(R.id.network);
viewWifiBSSID = (TextView) findViewById(R.id.bssid);
viewWifiMAC = (TextView) findViewById(R.id.mac);
getWifi();
}