if( txt.equals("Apple"))
{
Toast.makeText(this, "Times up", Toast.LENGTH_SHORT).show();
AlertDialog ad = new AlertDialog.Builder(this).create();
ad.setCancelable(false); // This blocks the 'BACK' button
ad.setMessage("You win");
ad.setButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
ad.show();
}
我应该写什么来比较Apple文本和imageview的图像
答案 0 :(得分:1)
我在您的代码中看到的内容,您正在尝试compare two drawables using equals method
。我认为这不会起作用。
比较两个drawables
,一个简单的黑客就是convert them to bitmaps and check using ==
Drawable fDraw = iv1.getDrawable();
Drawable sDraw = getResources().getDrawable(R.drawable.mario_pinball);
Bitmap bitmap = ((BitmapDrawable)fDraw).getBitmap();
Bitmap bitmap2 = ((BitmapDrawable)sDraw).getBitmap();
if(bitmap == bitmap2)
{
//Code blcok
}
编辑:基于评论,如果上述方法不起作用
Bitmap
类提供了一种方法sameAs()
来比较两个位图
http://developer.android.com/reference/android/graphics/Bitmap.html#sameAs%28android.graphics.Bitmap%29
编辑:
根据OP对该问题的评论,为了将文字与图片进行比较,您可以在图片中setTag()和getTag()存储文字值,然后将此值与文字视图'进行比较。 s文本。
答案 1 :(得分:1)
我应该写什么来比较Apple文本和imageview的图像
你不会。
相反,每当您更改ImageView
时,请维护一些其他数据成员,以反映您在int
中添加的内容(例如R.drawable
的{{1}})。然后,您可以检查其他数据成员是否相等。