の値logoが"R.drawable.logo"(a String) の場合、それは に解析できませんint。R.drawable.logo は実際には、生成されたリソース クラス のサブクラスであるstatic int logo内の変数への参照です。生成されたリソース クラスで、プロジェクトのフォルダーの下にあります。static class drawableRRgen
自分で解析する必要があります。返されるドローアブルであることがわかっている場合は、次のようにする必要があります。
String logoParts [] = logo.split ("\\.");
int logoId = getResources ().getIdentifier (logoParts [logoParts.length - 1], "drawable", "com.example.app");
または、関数に分割することもできます。
public static int parseResourceString (Stinrg resString, String package) {
String resParts [] = resString.split ("\\.");
return getResources ().getIdentifier (resParts [resParts.length - 1], resParts [resParts.length - 2], package);
}