У меня такая проблема в ImageView, по умолчанию я установил ivImage.setImageResource(R.drawable.avatar) И когда я нажимаю кнопку «Сохранить», если изображение в ImageView не изменяется, оно не должно сохранять изображение. Я пробовал это, но не работает

private Drawable oldDrawable;

В onCreate ()

oldDrawable = imgAvatarDoctor.getDrawable();

И при нажатии кнопки

 if (imgAvatarDoctor.getDrawable() == oldDrawable) {
            isNoError = false;
        }

Так как я могу это исправить? Огромное спасибо

0
Thanh Duy 13 Сен 2016 в 11:02

4 ответа

Лучший ответ

Вместо этого вы можете использовать растровое изображение,

private Bitmap oldDrawable;

oldDrawable = ((BitmapDrawable) ivImage.getDrawable()).getBitmap();

 if (oldDrawable == oldDrawable) {
        isNoError = false;
    }
1
W4R10CK 13 Сен 2016 в 08:20

При установке изображения установите любой тег для изображения

image.setTag(res); //here, res is drawableID

Проверяя идентификатор изображения, вы можете использовать этот тег для сравнения:

int oldImage = image.getTag();  //oldImage will be same as drawable ID

Теперь вы можете сравнить oldImage с идентификатором этого изображения и проверить, обновлено оно или нет.

0
DsD 13 Сен 2016 в 08:14

Вы можете использовать флаг для изменения изображения. В onCreate ()

imageChanged = false;

И в функции, которая получает измененное изображение (например, onActivityResult), обновите этот флаг как

imageChanged = true;

Затем, нажав кнопку сохранения, вы можете легко проверить этот флаг:

if(imageChanged)
   //save image
else
   //pass
1
niksya 13 Сен 2016 в 08:11

Используйте setTag и getTag для сравнения вашего рисунка следующим образом:

Изначально установите тег вашего изображения на 0 в вашем onCreate

imgAvatarDoctor.setTag("0");

И всякий раз, когда вы меняете просмотр изображения, вы можете изменить тег на что-то отличное от 0, например:

imgAvatarDoctor.setTag("UpdatedTag");

Теперь в вашем прослушивателе кликов вы можете сделать это:

if (imgAvatarDoctor.getTag().equalsIgnoreCase("UpdatedTag")){
//your image view is updated
} else {
// your image view is not update
}

Удачного кодирования !!!!!

5
Anjali 13 Сен 2016 в 08:12