本文介绍了这是为什么有时不工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的应用程序使用以下code来比较imagebuttons图片:
My app uses the following code to compare images on imagebuttons:
的onCreate
:
redsquare = getResources().getDrawable(R.drawable.redsquare);
bitred = ((BitmapDrawable) redsquare).getBitmap();
的onClick
( v
是按钮点击)
ClickGround = v.getBackground(); //Get the background of button clicked
//the bitmap background of the button clicked
BitClick = ((BitmapDrawable) ClickGround).getBitmap();
然后,后来在onClick的,我检查,如果用户在点击redSquare通过执行此操作:
Then, later on in the onClick, I check if the user clicked on the redSquare by doing this:
if (BitClick == bitred) { //Make sure it is the red square that user clicked
}
我已经测试过它在我的仿真器和华为的手机,它工作正常。当我测试了我的其他的手机(LG G3)上,if语句不通过。为何结果不同? 与图像被莫名其妙地在我的手机搞砸?
推荐答案
可以,我做你的比较code的微小变化,使其与所有设备正常工作。
You Can, I'm making a small change in your comparison code to make it work with all devices.
Bitmap BitRed = ((BitmapDrawable)getResources().getDrawable(R.drawable.redsquare)).getBitmap();
Bitmap BitClick = ((BitmapDrawable) v.getBackground()).getBitmap();
if (BitClick.sameAs(BitRed))
{
//Your Button with Red Square Clicked
}
请参阅更多细节功能。
希望这有助于你。
Please refer SameAs function for more details.Hope this help you.
这篇关于这是为什么有时不工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!