嗨我试图设置一个检查,看看如果当前设置的图片是x,如果它是x它做的东西,如果它的东西,它做其他的东西。Android:检查图片值是否匹配
Button sharebtn = (Button)findViewById(R.id.Sharebtn);
sharebtn.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
ImageView picture = (ImageView) findViewById(R.id.BTN);
if (picture.equals(R.drawable.x)){
//do really cool stuff
}else if (picture.equals(R.drawable.y){
//do stuff
}
}
});
与此代码按钮只是冻结,并没有做任何事情。它不仅仅显示焦点。
编辑:更多信息 该代码是用于收藏夹图标。因此,如果用户位于标记为收藏夹的页面上,我希望该图标为充满星星,否则为空星。我遇到的问题是我希望他们能够点击开始执行将页面添加到收藏夹或删除它的代码。我认为最简单的方法是通过检查当前的图标是否在创建中。该图标可以正常工作,因此如果fav和viseversa显示填充,但是获取它的代码删除或添加到fav(上面的代码片段)不起作用。我也试过:
ImageView picture = (ImageView) findViewById(R.id.favsBTN);
java.io.File file = new java.io.File(persistentCarsDir+"/"+vin);
if (file.exists()) {
removefavorite();
picture.setImageResource(R.drawable.nostar);
}else if(!file.exists()){
favorite();
picture.setImageResource(R.drawable.star);
}
此代码aboves作品^我刚把文件路径错了:)
建议的findViewById呼叫后,立即加入了一些调试消息 - 如果在检查之前。看看这个函数是否返回。 – Randy
正如在我的答案中提到的...使用imageView.setTag()来“记住”它是否是一个好处,并在onClick中相应地采取行动... 或使用复选框而不是imageview,因此您可以轻松地检查“isChecked”... – jpm
(我在我的答案中添加了信息) – jpm