私は16個の画像ビューを持っており、それぞれがリストナーとしてonBtnClickに設定されています。このメソッド内で、画像ビューIDが特定のIDに対応しているかどうかを確認します。これを変更して、画像ビュー内の画像リソースを確認する必要があります。
public void onBtnClicked(View v)
{
if( v.getId() == R.id.img1 )
{
Intent guess = new Intent(this, com.Logo_Master.Guesslogo.class);
guess.putExtra("image","img1");
startActivity(guess);
}
}
次のようにする必要があります。
public void onBtnClicked(View v)
{
if( v.getId() == R.drawable.img1 )
{
Intent guess = new Intent(this, com.Logo_Master.Guesslogo.class);
guess.putExtra("image","img1");
startActivity(guess);
}
}
または似たようなもの.....したがって、イメージビューではなくイメージビュー内の画像をチェックします......
ありがとうございました。
/編集/
Random random = new Random( System.currentTimeMillis() );
List<Integer> generated = new ArrayList<Integer>();
for (int i = 0; i < imageViews.length; i++) {
int v = imageViews[i];
int next = random.nextInt( 16 );
if ( !generated.contains( next ) ) {
generated.add( next );
ImageView iv = (ImageView) findViewById( v );
iv.setImageResource( images[next] );
Object tag = (Object) new Integer(getImageName(this, String.valueOf(images[next])));
iv.setTag(tag);
}
else {
i--;
}
}
public static int getImageId(Context context, String imageName) {
return context.getResources().getIdentifier("id/" + imageName + "guess", null, context.getPackageName());
}
public static int getImageName(Context context, String imageName)
{
return context.getResources().getIdentifier("drawable/" + imageName + "guess", null, context.getPackageName());
}