问题描述
我正在打开图库并在选择图像时获取图像的 URI。然后我像这样使用 setimageURI 显示图片。
override fun onActivityResult(requestCode: Int,resultCode: Int,data: Intent?) {
super.onActivityResult(requestCode,resultCode,data)
if (resultCode == Activity.RESULT_OK && requestCode == ACTION_CAMERA_REQUEST_CODE){
val uri: Uri? = data?.data
imageUri = uri.toString()
show_iv.setimageURI(Uri.parse(imageUri)) // handle chosen image
}
}
它在我的 imageView (show_iv) 中显示了正确的图像。 但是,当我保存 URI 然后再次打开文件显示该图像时,应用程序崩溃了。
override fun onPause() {
super.onPause()
val title = et_title.text.toString()
if (title.length == 0) {
Toast.makeText(this,"The note can not be saved when the title be blank",Toast.LENGTH_LONG).show();
} else {
if (imageUri == null)
{
fp.addNote(et_title.getText().toString(),et_body.getText().toString() + "img:" + "null",!isTitleExist(title))
}
else
{
fp.addNote(et_title.getText().toString(),et_body.getText().toString() + "img:" + imageUri,!isTitleExist(title));
}
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_noteeditor)
et_title = findViewById(R.id.et_title);
et_body = findViewById(R.id.et_body);
// add picture
val btn_addphoto: Button = findViewById(R.id.btn_addphoto)
btn_addphoto.setonClickListener{add_photo()}
show_iv = findViewById(R.id.show_iv)
show_iv.setimageResource(R.drawable.galleryicon)
val intent = getIntent()
val notepos = intent.getIntExtra("NOTEPOS",-1)
fp = FileProcessor(this,MainActivity.EXTERNAL)
titlelist = fp.getNoteList()
if (notepos != -1) {
var title = titlelist[notepos]
et_title.setText(title)
title = title + ".txt"
val content = fp.readFile(title)
val (newContent,scanUri) = content.split("img:")
et_body.setText(newContent)
imageUri = scanUri
if (imageUri == "null")
show_iv.setimageURI(null)
else
show_iv.setimageURI(Uri.parse(imageUri))
} else {
et_title.setText("")
et_body.setText("")
}
}
我用同样的方式来显示图片,并检查了两种情况下的URI是否相同。它是如何发生的?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)