gpt4 book ai didi

android - 将 CameraKit 与 Kotlin 一起使用时应用程序崩溃

转载 作者:行者123 更新时间:2023-11-29 18:30:04 25 4
gpt4 key购买 nike

我一直在尝试使用 Kotlin 在我的应用中实现 CameraKit。我在关注 this教程。它是用 Java 编写的,所以我将其转换为 Kotlin。

这是教程中的 main_activity.java:

import com.camerakit.CameraKitView;
public class MainActivity extends AppCompatActivity {

private CameraKitView cameraKitView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cameraKitView = findViewById(R.id.camera);
}

@Override
protected void onResume() {
super.onResume();
cameraKitView.onResume();
}

@Override
protected void onPause() {
cameraKitView.onPause();
super.onPause();
}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
cameraKitView.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}

这是我的 cameraScreen.kt 文件,Kotlin 等同于上面的代码:

package com.example.testapp
import com.camerakit.CameraKitView
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle


class cameraScreen : AppCompatActivity() {

private var cameraKitView:CameraKitView

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_camera_screen)
cameraKitView = findViewById(R.id.camera)
}

override fun onResume() {
super.onResume()
cameraKitView.onResume()
}

override fun onPause() {
super.onPause()
cameraKitView.onPause()
}

override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
cameraKitView.onRequestPermissionsResult(requestCode, permissions, grantResults)
}
}

我在 private var cameraKitView:CameraKitView 行上收到此错误

Property must be initialised or be abstract

这是我到目前为止尝试过的方法

  • 尝试使用 lateinit - 应用程序崩溃
  • 尝试使用 abstract - 应用崩溃
  • 尝试将行放入 init{...} block 中。那么下面的函数就看不到了。

请记住,所有这些相机内容都在我使用按钮链接到我的主要 Activity 的另一个 Activity 中。如果我删除 cameraScreen.kt 文件中的所有内容, Activity 切换正常,所以我认为问题不存在。

我该如何解决?

最佳答案

你错过了

cameraKitView = findViewById(R.id.camera);

部分代码。您应该这样做或使用合成 Material 。

您还需要将 var cameraKitView 更改为 lateinit var cameraKitView

关于android - 将 CameraKit 与 Kotlin 一起使用时应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56775251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com