gpt4 book ai didi

java - 更改为纵向/横向时 ImageView 消失

转载 作者:搜寻专家 更新时间:2023-11-01 08:13:58 25 4
gpt4 key购买 nike

我有一个带有位图图片的 ImageView 。我在 onActivityResault 中设置了这张图片。问题是当我更改为纵向/横向时,图像消失了。

protected void onActivityResult(int requestCode,int resultCode, Intent imageReturnedIntent) { 
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);

switch(requestCode) {
case 1:
if(resultCode == RESULT_OK){
Uri selectedImage = imageReturnedIntent.getData();
InputStream imageStream;
try {
imageStream = getContentResolver().openInputStream(selectedImage);
Bitmap yourSelectedImage = BitmapFactory.decodeStream(imageStream);
image.setImageBitmap(yourSelectedImage);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

最佳答案

当方向改变时, Activity 被销毁并重新创建。如果您使用 xml 创建布局,则所有设置了 @id 的小部件都应使用其内容自动重新创建。否则,您必须手动执行此操作 - 查看 Activity 的方法 onRestoreInstanceState() onSaveInstanceState() 只需覆盖它们并编写您自己的保存/恢复代码。一些未经测试的代码,希望它能给你一个想法:

@Override
public void onSaveInstanceState(Bundle b){
b.putParcelable("image", image.getBitmap());
}

@Override
public void onRestoreInstanceState(Bundle b){
//you need to handle NullPionterException here.
image.setBitmap((Bitmap) b.getParcelable("image"));
}

关于java - 更改为纵向/横向时 ImageView 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6716404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com