【发布时间】:2018-11-21 21:07:28
【问题描述】:
我在其他Activity中调用了MainActivity的一个函数,应用关闭并显示如下错误,请帮忙解决这个问题。
MainActivity 函数:
fun checkInternet():Boolean {
val cm = baseContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val networkInfo = cm.activeNetworkInfo
if (networkInfo != null && networkInfo.isConnected) {
alertPopUp("internet ok", "")
return true
}
else {
val title = getString(R.string.No_Internet)
val message = getString(R.string.need_internet_for_service)
alertPopUp(title, message)
return false
}
}
在其他活动中调用此函数:
var internetStatus:Boolean = MainActivity().checkInternet()
错误信息:
原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.Object android.content.Context.getSystemService(java.lang.String)” 在 com.gph.qpon.MainActivity.checkInternet(MainActivity.kt:148) 在 com.gph.qpon.qponClickedActivity.onCreate(qponClickedActivity.kt:32)
【问题讨论】:
-
只是为了确定 - 您是直接通过构造函数创建 Activity 吗?
-
他正在出于任何未知原因直接使用构造函数创建他的 Activity
标签: android function android-activity kotlin