android - 从 ActivityResult 迁移到 Activity Result API
问题描述
我是编程新手,我正在尝试自己学习一些技术,我已经观看了很多视频新活动结果 Api,并且我正在尝试在我的项目中迁移。一切都很好,但麻烦的是缺少请求代码,请求代码必须做什么或使用。
在项目旧活动结果中尝试裁剪图像
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { /// неед
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == Activity.RESULT_OK) {
if (requestCode == REQUEST_GALLERY) {
data?.data.let {
if (it != null) {
imageUri = it
cropImage(it) }
}
} else if (requestCode == UCrop.REQUEST_CROP) {
val resultUri = data?.let { UCrop.getOutput(it) }
binding.image.loadUrl(resultUri.toString())
}
} else {
toastMessage(requireContext(), getString(R.string.fail_download_image))
}
}
private fun openGallery() { /// галлерея
val intent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
startActivityForResult(intent, REQUEST_GALLERY)
}
在这里我正在迁移 Activirty Result Api
val resultContract = registerForActivityResult(ActivityResultContracts.StartActivityForResult()){result: ActivityResult? ->
if (result?.resultCode == Activity.RESULT_OK) {
if (requestCode == REQUEST_GALLERY) {
result.data?.data.let {
if (it != null) {
imageUri = it
cropImage(it) }
}
} else if (result.requestCode == UCrop.REQUEST_CROP) {
val resultUri = result.data?.let { UCrop.getOutput(it) }
binding.image.loadUrl(resultUri.toString())
}
} else {
toastMessage(requireContext(), getString(R.string.fail_download_image))
}
}
这里在Activity Result Api request code is unresolved references ,用什么代替request code???
解决方案
推荐阅读
- c# - 如何在 MaskedTextBox 上应用价格格式?
- java - 如何摆脱spring boot的默认异常?
- python - 可能的数据泄露或过拟合?
- aframe - A-Frame中的多个不同的相机
- node.js - 用动态类名实例化对象的简单方法?
- php - laravel pusher - 发送关于生产不工作的事件
- react-native - 仅制作特定部分以在滚动视图中引起滚动移动
- node.js - Sh 命令永远不会在 NodeJS + Typescript 内结束(虽然它在 shell 内)
- c# - Unity Terrain GameObject 与自定义地形
- firebase - Firebase RTD 递归安全规则