2017-07-04 9 views
0

私はこのDrawableオブジェクトからイメージ名を取得するには?

String image_name =thumb.getCurrent().toString(); 

しかし、親指からイメージ名を意味し、私の必要性のイメージ名のようにしてみてください

Drawable thumb = mContext.getResources().getDrawable(R.drawable.image_name); 

などのようにどういうわけか、私はDrawableのフォルダから描画イメージを持っています。

どうすれば可能ですか?

提案、コメント、相談。有用なリンクを提供することは非常に感謝しています。事前のおかげ

+0

https://stackoverflow.com/questions/6611703/why-there-is-no-method描画可能なオブジェクト名から描画可能なオブジェクト名 –

+0

**タグ**を「親指」に設定し、「 –

+0

」が必要なときはいつでも取得するか、コードを – omor

答えて

0

あなたはこのように試すことができます:

int imageid = getResources().getIdentifier("image_name", "drawable", getPackageName()); 
String imageName = getResources().getResourceName(imageid); 
0
String name = getResources().getResourceEntryName(R.drawable.image_name); 
Log.e("name", name); 

または

String resName = getResourceNameFromClassByID(R.drawable.class, 
R.drawable.image_name); 
Log.e("name", resName); 

public String getResourceNameFromClassByID(Class<?> aClass, int resourceID) 
      throws IllegalArgumentException { 
     Field[] drawableFields = aClass.getFields(); 

     for (Field f : drawableFields) { 
      try { 

       if (resourceID == f.getInt(null)) 
        return f.getName(); // Return the name. 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
     throw new IllegalArgumentException(); 
    } 
関連する問題