Android studio如何在片段中而不是在活动中使用getBitmap?分类器&x27;ContentResolver';没有伴生对象
我正在尝试将裁剪后的图像位图设置为视图中的imageview。在一个活动中,代码是有效的,但是我如何在片段中应用它呢Android studio如何在片段中而不是在活动中使用getBitmap?分类器&x27;ContentResolver';没有伴生对象,android,kotlin,fragment,Android,Kotlin,Fragment,我正在尝试将裁剪后的图像位图设置为视图中的imageview。在一个活动中,代码是有效的,但是我如何在片段中应用它呢 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) var result = CropImage.getActivityResult(data)
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
var result = CropImage.getActivityResult(data)
var uri = result.uri
if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
val bitmap = MediaStore.Images.Media.getBitmap(ContentResolver, uri)
imageviewProfilePicture.setImageBitmap(bitmap)
}
ContentResolver出现错误:
分类器“ContentResolver”没有伴生对象,并且
因此必须在这里初始化
我使用以下代码调用cropimage活动:
context?.let {
CropImage.activity()
.setGuidelines(CropImageView.Guidelines.ON)
.setAspectRatio(1, 1)
.start(it, this)
};
在您当前拥有的
contentResolver
位置使用context.contentResolver
。您需要获取上下文
,因为片段
(与活动
不同)不是上下文
子类。使用上下文。contentResolver
,您当前拥有contentResolver
。您需要获取上下文
,因为片段
(不同于活动
)不是上下文
子类。根本原因
若要使用方法,需要传递的实例。在Android中,您可以从上下文类或其子类(如活动、服务、应用程序等)获取实例
Fragment不是上下文的子类,这就是为什么不能直接在Fragment中获取实例的原因。您可以通过主机活动(片段附加到的活动)获得
解决方案
从更改代码
val bitmap = MediaStore.Images.Media.getBitmap(ContentResolver, uri)
到
根本原因 若要使用方法,需要传递的实例。在Android中,您可以从上下文类或其子类(如活动、服务、应用程序等)获取实例 Fragment不是上下文的子类,这就是为什么不能直接在Fragment中获取实例的原因。您可以通过主机活动(片段附加到的活动)获得 解决方案 从更改代码
val bitmap = MediaStore.Images.Media.getBitmap(ContentResolver, uri)
到