2014-08-27 97 views
0

我有一个ImageView,我根据不同的条件设定不同的图像这样way-如何从android中的ImageView获取位图ID?

if(x==1){ 
    image.setImageResource(bitMapIdOne); 
}else { 
    image.setImageResource(bitMapIdTwo); 
} 

现在我想从这个ImageView得到Bitmapid。我想得到id就像这样image.getId()那会返回当前设置的位图ID。假设当前的id是bitMapIdOne,它会为我返回bitMapIdOne

是否有可能或如何获得Bitmap ID?

+0

位图可是没有一个ID,所以你不能从它得到的id,你将不得不保存当前的id在某处,所以你跟踪的图像id,视图不会做你的工作 – 2014-08-27 14:49:33

+0

不,你不能这样做,尝试ImageView。 getDrawable()而不是 – pskink 2014-08-27 14:50:52

+0

创建一个方法,getBitmapForX(int x)返回位图,取决于x的值? – TomRichardson 2014-08-27 14:52:23

回答

0

位图没有ID。您需要使用setImageBitmap,而不是setImageResource

0

您可以的ImageView绘制,应用程序的图形内容,并找出哪一个是它的比较:

if (image.getDrawable().getConstantState().equals(
     getResources().getDrawable(R.drawable.image1).getConstantState())) { 

} else if (image.getDrawable().getConstantState().equals(
     getResources().getDrawable(R.drawable.image2).getConstantState()) { 

}