【发布时间】:2022-01-04 06:30:05
【问题描述】:
我想知道有没有一种方法可以在片段中显示我的图像视图图像。 我得到的图像来自 Firebase 存储,并通过视图模型函数传递位图值并将值包含在片段中。
我想知道有没有更好的方法来做到这一点?
此外,当没有图像时,当我将其与 androidswipetorefresh 侦听器配对时,图像仍会显示
主要活动代码
val imageName = auth.currentUser?.uid
val storageRef = FirebaseStorage.getInstance().reference.child("profileImages/$imageName.jpg")
val localFile = File.createTempFile("tempImage","jpg")
storageRef.getFile(localFile).addOnSuccessListener {
val bitmap = BitmapFactory.decodeFile(localFile.absolutePath)
fragmentViewModel.setImage(bitmap)
}.addOnFailureListener {
Toast.makeText(this,"Failed",Toast.LENGTH_SHORT).show()
}
片段代码
profileImg = view.findViewById(R.id.profileImage)
val bitmap = viewModel.imageData.value
profileImg.setImageBitmap(bitmap)
查看型号代码
val imageData = MutableLiveData<Bitmap>() fun setImage (newData: Bitmap) {
imageData.value = newData
}
【问题讨论】:
标签: android firebase kotlin firebase-storage android-viewmodel