我需要知道如何检查如何在图像按钮上比较或检查图像资源
首先我设置了按钮。
button1 = (ImageButton) findViewById(R.id.ib1);
button1.setImageResource(R.drawable.smiley);
if( currentTime%2==0 ) {
button1.setImageResource(R.drawable.smiley);
}
else {
button1.setImageResource(R.drawable.smileyhit);
}
稍后我需要检查按钮的图像资源是否是笑脸可绘制并增加分数。
类似
if( button1.getImageResource() == R.drawable.smiley ) {
score = score + 1;
}
我该怎么做才能比较呢?我不想使用标签。请帮帮我!
答案 0 :(得分:2)
使用ImageButton.setTag
和ImageButton.getTag
来识别当前位于ImageButton
背景中的图片:
if( currentTime%2==0 ) {
button1.setImageResource(R.drawable.smiley);
button1.setTag(R.drawable.smiley);
}
else {
button1.setImageResource(R.drawable.smileyhit);
button1.setTag(R.drawable.smileyhit);
}
使用button1.getTag
检查当前图片:
if(Integer.parseInt(button1.getTag().toString()) == R.drawable.smiley ) {
score = score + 1;
}
答案 1 :(得分:0)
使用setTag和getTag可以轻松区分图像。
if( currentTime%2==0 ) {
button1.setImageResource(R.drawable.smiley);
button1.setTag("smiley");
}
else {
button1.setImageResource(R.drawable.smileyhit);
button1.setTag("smileyhit");
}
if(button1.getTag().toString().equalsIgnoreCase("smiley")){
score = score + 1;
}
答案 2 :(得分:0)
为每个按钮维护一个包含currentTime%2==0
的数组。由于UI在应用程序的生命周期中的几个不同点重新创建,因此不应该依赖UI来检索应用程序的状态。确定应用状态的所有数据都应与用户界面分开。
修改强> Okie ..正如你所说,你有更多的图像,我仍然会通过数组或列表,而不是依赖于UI来获取数据。我的方法将如下,
constants
值的图片资源创建Int
例如:public static final int image1=1
;