В моем приложении я установил изображение в действии под названием День. Теперь, когда пользователь хочет изменить изображение, он выбирает кнопку и выбирает изображение из галереи. Вот код:OnActivityResult не обновляет ImageView в Android
private void choosePhoto() {
Intent pickPhoto = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(pickPhoto, REQUEST_IMAGE_PICK);
}
Когда пользователь выбирает изображение, я ловлю в onActivityResult, что он выбрал, и хочу, чтобы установить его в качестве нового ImageView, но не обновляется. Я имею в виду, старое изображение все еще видно, но не новое. Я должен уйти и снова войти в работу, чтобы увидеть изменения. Вот onActivityResult:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_PICK && resultCode == RESULT_OK) {
Uri selectedImage = data.getData();
String realImagePath = PhotoUtils.getRealPathFromURI(this, selectedImage);
Bitmap imageBitmap = PhotoUtils.decodeSampledBitmapFromFile(dayPhoto, realImagePath);
dbAdapter.setDayImage(realImagePath, dayOfMonth, month, year);
dayPhoto.setImageBitmap(imageBitmap); // this doesn't work, the image is not updated
}
}
'decodeSampledBitmapFromFile (dayPhoto, realImagePath);'? Почему ваш ImageView dayPhoto используется в этой функции? 'dbAdapter.setDayImage (realImagePath,' Пожалуйста, объясните, что здесь происходит. – greenapps
dayPhoto просто необходим, чтобы получить высоту и ширину. setDayImage устанавливает это изображение в базу данных, так или иначе, я решил проблему. –