Как перенести изображение с одного экрана на другой?

StackOverflow https://stackoverflow.com/questions/8831062

Вопрос

Я реализовал просмотр галереи на одном экране с именем display_image.xml, в котором я показал различные изображения, доступные на SD-карте, когда пользователь выбирает изображение и нажимает кнопку сохранения изображения на том же экране display_image.xml, а затем выбранное изображение должно быть изменено на его / ееизображение профиля на другом экране.

Мой вопрос заключается в том, как я могу получить это изображение с одного экрана, чтобы изменить изображение пользователя на другом экране, и это выбранное изображение также должно быть вставлено в базу данных для последующего использования, когда пользователь войдет в систему позже.Позвольте мне сказать вам, что мое изображение не исходит от какого-либо веб-сервиса.

Пожалуйста, помогите мне ......... Спасибо .........

Это было полезно?

Решение 3

Первое, что вам нужно сделать, это объявить о намерении

родовое слово

и используйте startActivityForResult(i_cp, 111);, который будет искать какой-то результат. в нашем случае для положения изображения; целочисленное значение.

, указав request_code (111), который будет использоваться для идентификации результата, когда он будет возвращен начальным намерением. Здесь мы не будем использовать setAction(i_cp.ACTION_PICK); и setType("image/*");, потому что мы не собираемся возвращать изображение, мы просто возвращаем позицию изображения. Наше использование Intent будет ограничено простой передачей и получением целочисленного значения (позиция значения).

Теперь, как насчет того, чтобы получить ту позицию изображения, которую выбрал пользователь. позиция получается в методе onItemClick объекта GalleryView одним из параметров

родовое слово

теперь объявить одну переменную, например int pos; и присвойте -1, чтобы определить, выбрано ли изображение или нет, и если изображение выбрано, то в событии onclick кнопки saveimage передайте позицию значения как

родовое слово

и в onActivityForResult идентифицируют намерение по переданному коду запроса и извлекают эту позицию как

родовое слово

и установите его как

родовое слово

и этот массив pics [], который содержит все идентификаторы изображений, хранящихся в одной из папок res/drawable вашего приложения, объявить его как

родовое слово

В противном случае вы не сможете установить изображение.

Другие советы

Это можно сделать двумя способами: 1) Передайте путь к SD-карте выбранного изображения и напрямую загрузите это изображение из пути в просмотре изображений. 2) вы можете преобразовать изображение в байты [] и передать байты [] и вернуть изображение.

Надеюсь, ты меня поймешь. Удачи

Используйте " activityForResult ".
Идея заключается в том, чтобы начать действие по выбору изображения, позвонив

startActivityForResult(INTENT_OF_YOUR_IMAGECHOOSING_ACTIVITY);

Теперь в этом действии, когда пользователь нажимает на любое изображение, обрабатывает это событие следующим образом:
some OnClick(){<br>Intent resultIntent = new Intent(); в этом намерении установить массив байтов вашего изображения в дополнительных материалах ИЛИ путь к SD-карте вашего изображения

затем вызовите setResult(RESULT_OK, resultIntent);


Это вернет вызов к предыдущему действию в методе onActivityResult(int resultCode, ..., Intent data) ЗДЕСЬ используйте данные в качестве намерения для получения необходимой информации

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top