2015-10-05 17 views
-2

上午的繪製試圖讓ImageView的繪製,並用它來創建一個if else語句Else語句,我已經嘗試了許多解決方案,包括下面的一個,所有的工作不總是給我的錯吐司如果 - 使用的ImageView

if(holder.likeImage.getDrawable()==context.getResources().getDrawable(R.drawable.ic_action_like)){ 
       Toast.makeText(context, "LIKED ALREADY", Toast.LENGTH_SHORT).show(); 
      } 

      else if(holder.likeImage.getDrawable()!=context.getResources().getDrawable(R.drawable.ic_action_like)){ 
       Toast.makeText(context, "YOU HAVNT LIKED", Toast.LENGTH_SHORT).show(); 


      } 
+0

看看這個答案在這裏如何比較兩個可繪製http://stackoverflow.com/questions/9125229/comparing-two-drawables-in-android – Wilik

+3

不要使用可繪製對象平等代表狀態 - - 從getDrawable()返回的對象是唯一的,不能用於相等比較。以其他方式存儲您的狀態信息(例如持有者的布爾值)。 – alanv

回答

0

試試這個。

holder.likeImage.setImageResource(R.drawable.ic_action_like); 
holder.likeImage.setTag(R.drawable.ic_action_like); 
if(holder.likeImage.getTag().equals(R.drawable.ic_action_like)){ 

}else{ 

} 
+0

我試着添加上面的代碼,但得到了錯誤的敬酒 –

+0

你可以發佈你的代碼。 –

+0

我做了holder.likeImage.setImageResource(R.drawable.ic_action_like); holder.likeImage.setTag(R.drawable.ic_action_like);那麼我使用上述if語句 –