Как сохранить состояние изображения при повороте? - PullRequest
0 голосов
/ 16 июня 2020

Я как бы застрял здесь, в onSaveInstanceState и onRestoreInstanceState, каждый раз, когда я запускаю эмулятор, после изображения, взятого из галереи и появляющегося на экране. Когда я его поворачиваю, изображение исчезает.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == GALLERY_REQUEST_CODE && resultCode == RESULT_OK && data != null){
    imageUri = data.getData();
    imageView.setImageURI(imageUri);
    }
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putParcelable("image", imageUri);
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    savedInstanceState.getParcelable("image");
    imageView.setImageURI(imageUri);
}
}

В какой части я ошибся?
Это на «savedInstanceStae.getParcelable .....»?
Я не знаю, как сохранить состояние imageView
Еще раз спасибо за помощь

1 Ответ

0 голосов
/ 27 июня 2020

Вы должны установить переменную imageUri, когда состояние восстанавливается.

@Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        imageUri = savedInstanceState.getParcelable("image");
        imageView.setImageURI(imageUri);
    }
...