[英]How to check which image is set in imageview android
我在動作欄中有一個星空圖片。 當我單擊它時,圖像應更改為ON星。 一切正常。 但是如何知道圖像是處於ON狀態還是OFF狀態。我想要一些東西,如果圖像處於OFF模式並且用戶點擊ON star,那么它應該設置為ON star image。 最初,圖像設置為OFF模式。 因此,為此,我編寫了Give行以在用戶點擊時打開:
v.setBackgroundResource(android.R.drawable.star_big_on);
伙計們建議我如果已經打開星圖,請選擇“關閉”模式。 我什么都不知道。
您可以通過設置每個圖像的標簽或通過比較那里的資源比較來輕松檢查它,資源比較方法如下所示:
if (regProfile.getDrawable().getConstantState() ==
getResources().getDrawable(R.drawable.ivpic).getConstantState()){
Toast.makeText(_con, "Image is ivPic", Toast.LENGTH_LONG).show();
} else{
Toast.makeText(_con, "Image isn't ivPic", Toast.LENGTH_LONG).show();
}
如果我的猜測是正確的,則可以實現這樣的功能。針對圖像onclick相應地更改此代碼
private Button button;
public static boolean isclick=false;
button.setOnClickListener(seathtlistner);
private View.OnClickListener seathtlistner = new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if(isclick){
button.setBackgroundResource(R.drawable.onstarimage);
}else{
button.setBackgroundResource(R.drawable.offstarimage);
}
isclick=!isclick;
}
您可以使用Tag屬性。
img_view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Boolean tag_isOn = (Boolean) v.getTag();
tag_isOn = !tag_isOn;
v.setBackgroundResource(tag_isOn ?android.R.drawable.star_big_on:android.R.drawable.star_big_off);
v.setTag(tag_isOn);
}
});
if (img_like.getTag() != null && img_like.getTag().toString().equals("red")) {
img_like.setImageResource(R.drawable.heart);
img_like.setTag("heart");
} else {
img_like.setImageResource(R.drawable.red);
img_like.setTag("red");
}`enter code here`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.