无法从kotlin的另一个活动访问一个活动的函数



我创建了一个用于拾取即时相机的图像视图。它在第二个活动中被delcare。然后我在第一个活动中调用了一个函数。但我犯了这些错误。请给出解决方案。在这里我分享了我的代码。谢谢你。

First Activity
--------------
private val createHomeworkActivity = CreateHomeworkActivity()
when (v?.id){
R.id.take_a_photo  -> createHomeworkActivity.tapOnCamera()
}
Second Activity
---------------
fun tapOnCamera(){
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED
|| ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE), RC_PERM_PICK_IMAGE)
} else {

openCamera()

iv_multi_image_layout.visibility=View.VISIBLE
}

}

这就是错误。。。java.lang.NullPointerException:尝试对null对象引用调用虚拟方法"int android.content.Context.checkPermission(java.lang.String,int,int("在android.content.ContextWrapper.checkPermission(ContextWrapper.java:743(在android.support.v4.content.ContextCompat.checkSelfPermission(ContextCompat.java:544(

将函数移到另一个类。不要在你的活动中使用。

您只是在创建一个SecondActivity实例。但secondActivity还没有任何上下文。所以它抛出空指针异常。下面的哪个错误

android.content.Context.checkPermission(java.lang.String,int,int('在的空对象引用上

您可以创建一个新类。你可以创建一个静态类。并创建一个函数;输入参数(context:context(并返回布尔值(permisson已授予或未授予(。这种方法只负责权限。不要用于openCamera((

最新更新