Androidにimageviewがあります。imageviewに設定されている画像の名前を取得したいのですが、どうすればよいですか?
ImageView v = (ImageView)findViewbyId(R.id.img);
//String name = findImageName(v);
if( name.equals(a))
{
//do something
}
else{
//do something
}
このためには、まずImageViewのタグを設定する必要があります
<ImageView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/imageview1"
Android:background="@drawable/bg1"
Android:tag="bg1"/>
次の手順で、ImageViewに現在設定されている画像名を取得します。
ImageView v = (ImageView)findViewbyId(R.id.img);
String backgroundImageName = String.valueOf(v.getTag());
これにより、"bg1"の画像タグ名が返されます。
タグ名を比較するか、次のプロセスに使用します
if( backgroundImageName.equals(bg1))
{
//do something
}
else{
//do something
}
タグを使用して名前を設定できます。
imageView.setTag("any name")
そして、を使用して値を取得します
String imageNameName = (String) imageView.getTag();
ImageView img = (ImageView) findViewById(R.id.imageView);
String imageName = img.getContentDescription();
このようなものを使用できませんでしたか?
ImageView v = (ImageView)findViewbyId(R.id.img);
if(R.id.someId == v.getId())
{
//do something
}
else{
//do something
}
リソースの名前を使用するよりも簡単です。