2016-09-13 23 views
0

我有這樣 在ImageView一個問題,在默認情況下我設置ivImage.setImageResource(R.drawable.avatar) ,當我點擊按鈕「保存」,如果ImageView形象不改變,它不應該救圖片。我想這一點,但它不是在工作的onCreate如何檢查是否imageview的形象不會改變

private Drawable oldDrawable; 

()

oldDrawable = imgAvatarDoctor.getDrawable(); 

,並點擊鏈接

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

那麼我怎樣才能解決呢?非常感謝

回答

0

你可以使用位圖代替,

private Bitmap oldDrawable; 

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

if (oldDrawable == oldDrawable) { 
     isNoError = false; 
    } 
1

您可以使用標誌觸發圖像更改。 在的onCreate()

imageChanged = false; 

而且在功能上它得到改變圖像(即onActivityResult),更新該標誌爲

imageChanged = true; 

然後保存按鈕,點擊就可以很容易地檢查這個標誌:

if(imageChanged) 
    //save image 
else 
    //pass 
5

使用setTag和getTag爲你這樣的繪製的比較:

最初在您的onCreate

imgAvatarDoctor.setTag("0"); 

設置您的ImageView的標籤爲0,只要你改變的ImageView您可以更改標籤爲0以外喜歡的事:在點擊監聽

imgAvatarDoctor.setTag("UpdatedTag"); 

現在你可以這樣做:

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

快樂編碼!!!!!

+0

我拍照從火力地堡寄存,所以我要檢查一次,如果用戶沒有在第一時間用戶登錄選擇圖像。 :'(我需要解決方案來解決這個問題:) –

+0

下面的鏈接將幫助你比較你的imageview的drawable和存儲在drawable文件夾中的drawable:http://stackoverflow.com/questions/6353170/android-how-to -compare-資源的-AN-圖像與-R抽拉-imagename – Anjali

0

雖然設置圖像,任何標記設置爲圖像

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

在檢查圖像的ID,您可以使用此標記來比較:

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

現在你可以用比較oldImage繪製該圖片的ID並檢查其是否更新。