我如何将 ImageView 与 R.drawable 进行比较?
How can i compare ImageView with R.drawable?
我想检查一个包含 R.drawable 项的矩阵是否包含当前 ImageView。
我的一小部分代码是:
Integer[] redColor = { R.drawable.red_circle_, R.drawable.red_cross_};
Random random = new Random();
int randomItem = random.nextInt( redColor.length );
item1ImageView.setImageResource( redColor[ randomItem1 ] );
if ( ( Arrays.asList( redColor ).contains( item1ImageView.getId() )
{
//do something
}
如果您想通过可绘制资源 ID 来识别图像视图,您可以使用视图的标签。
为给定视图调用 setImageResource 后,使用相同的资源 ID (imageview.setTag(R.drawable.asset_id)) 设置该视图标签。
您可以通过调用 ((int) imageview.getTag()).
取回该 ID
简单的方法是:
Integer[] redColor = { R.drawable.red_circle_, R.drawable.red_cross_};
Drawable.ConstantState[] redColorConstantState = new Drawable.ConstantState[ 3 ];
for ( int counter = 0; counter < redColor.length; counter++ )
{
redColorConstantState[ counter ] = getResources().getDrawable( redColor[ counter ] ).getConstantState();
}
Random random = new Random();
int randomItem = random.nextInt( redColor.length );
item1ImageView.setImageResource( redColor[ randomItem1 ] );
if ( ( Arrays.asList( redColorConstantState ).contains( item1ImageView.getDrawable().getConstantState() )
{
//do something
}
我想检查一个包含 R.drawable 项的矩阵是否包含当前 ImageView。
我的一小部分代码是:
Integer[] redColor = { R.drawable.red_circle_, R.drawable.red_cross_};
Random random = new Random();
int randomItem = random.nextInt( redColor.length );
item1ImageView.setImageResource( redColor[ randomItem1 ] );
if ( ( Arrays.asList( redColor ).contains( item1ImageView.getId() )
{
//do something
}
如果您想通过可绘制资源 ID 来识别图像视图,您可以使用视图的标签。
为给定视图调用 setImageResource 后,使用相同的资源 ID (imageview.setTag(R.drawable.asset_id)) 设置该视图标签。
您可以通过调用 ((int) imageview.getTag()).
取回该 ID简单的方法是:
Integer[] redColor = { R.drawable.red_circle_, R.drawable.red_cross_};
Drawable.ConstantState[] redColorConstantState = new Drawable.ConstantState[ 3 ];
for ( int counter = 0; counter < redColor.length; counter++ )
{
redColorConstantState[ counter ] = getResources().getDrawable( redColor[ counter ] ).getConstantState();
}
Random random = new Random();
int randomItem = random.nextInt( redColor.length );
item1ImageView.setImageResource( redColor[ randomItem1 ] );
if ( ( Arrays.asList( redColorConstantState ).contains( item1ImageView.getDrawable().getConstantState() )
{
//do something
}