【发布时间】:2023-03-25 11:56:01
【问题描述】:
我一直在尝试使用 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 行上收到此错误
属性必须被初始化或者是抽象的
这是我目前尝试过的
- 尝试使用
lateinit- 应用程序崩溃 - 尝试使用
abstract- 应用崩溃 - 尝试将该行放入
init{...}块中。那么下层函数就看不到了。
请记住,所有这些相机内容都在另一个活动中,我使用一个按钮链接到我的主要活动。如果我删除 cameraScreen.kt 文件中的所有内容,则活动切换正常,所以我认为问题不存在。
我该如何解决这个问题?
【问题讨论】:
-
activity_main长什么样子? -
@Zun 没什么,只是一个链接指向 cameraScreen 活动的按钮
标签: android kotlin android-camera android-camera2