Оба метода полезны и действительны, и оба они лучше всего подходят для разных сценариев:
onSaveInstanceState()
и onRestoreInstanceState()
, как правило, являются адекватными. Если вы сохраняете данные состояния постоянным образом, его можно перезагрузить в onResume()
или onCreate()
(или фактически на любом вызове жизненного цикла). Это может быть или не быть желательным. Если вы храните его в пакете в InstanceState
, то он является временным и подходит только для хранения данных для использования в одном сеансе пользователя (я использую термин сеанс свободно), но не между «сеансами».
Не один подход лучше, чем другой, как и все, просто важно понять, какое поведение вам нужно, и выбрать наиболее подходящий подход.
Попробуйте использовать следующий код:
image_view.setImageResource(R.drawable.my_drawable_file)
Для получения дополнительной информации перейдите по следующей ссылке:
https://android--code.blogspot.com/ 2018/03 / Android-Kotlin-ImageView-множество-image.html
val
невозможно изменить. Вы можете установить изображение в изображение, напрямую вызывая ImageView в вашем onCreate следующим образом:
Imageviewid.background = resources.getDrawable(R.drawable.imageid)
В качестве альтернативы, вы можете изменить val
на var