我正在尝试改变方向。目前,当我旋转手机时,我的片段中的图像消失了。这显然是因为活动被摧毁并重新创建。我没有尝试像图像一样保存如此大的数据,而是决定通过将图像保存在该方法中来解决此问题:UrionSaveInstanceState
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
outState.putParcelable("imageUri", imageUri);
}
在我的片段中,我试图检索Uri并将其粘贴回,同时牢记空的可能性。onCreateViewImageView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_top_image, container, false);
imageView = view.findViewById(R.id.meme_image_view);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectedImage(v);
}
});
topTextView = view.findViewById(R.id.top_text_view);
bottomTextView = view.findViewById(R.id.bottom_text_view);
if(savedInstanceState != null){
if(imageUri != null){
Uri savedUri = savedInstanceState.getParcelable("imageUri");
imageView.setImageURI(savedUri);
}
}
return view;
}
由于某种原因,它不起作用。当我旋转手机时,图像仍然丢失。
宝慕林4294392
相关分类