亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通過 onSaveInstanceState 保存和檢索圖像的 URI?

如何通過 onSaveInstanceState 保存和檢索圖像的 URI?

HUH函數 2022-08-03 10:17:12
我正在嘗試改變方向。目前,當我旋轉手機時,我的片段中的圖像消失了。這顯然是因為活動被摧毀并重新創建。我沒有嘗試像圖像一樣保存如此大的數據,而是決定通過將圖像保存在該方法中來解決此問題: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;    }由于某種原因,它不起作用。當我旋轉手機時,圖像仍然丟失。
查看完整描述

1 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

取代:

outState.putString(String.valueOf(imageUri), "imageUri");

跟:

outState.putParcelable("imageUri", imageUri);

并替換:

String raw = savedInstanceState.getString("imageUri");
Uri savedUri = Uri.parse(raw);

跟:

Uri savedUri = savedInstanceState.getParcelable("imageUri");

上的方法采用密鑰,后跟值。您有值,后跟鍵。而且,在 的情況下,您不需要將其轉換為 和 從 轉換為 。put...()BundleUriString


查看完整回答
反對 回復 2022-08-03
  • 1 回答
  • 0 關注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號