リソースの名前がわかっている場合、リソースのIDを返すにはどうすればよいですか?
このようなもの:
String mDrawableName = "myappicon";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
リソースの名前がわかっている場合、リソースのIDを返すにはどうすればよいですか?
このようなもの:
String mDrawableName = "myappicon";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
MonoDroid では、そのコードは次のように変換されます。
var resourceId = Resources.GetIdentifier(mDrawableName.ToLower(), "drawable", PackageName);
ただし、Android では推奨されていないため、個人的には GetIdentifier を使用しません。そのため、代わりに Reflection を使用します。
var resourceId = (int)typeof(Resource.Drawable).GetField(mDrawable).GetValue(null);
ただし、そのコードには、任意の文字列に対して追加された try/catch エラー チェックが確実に含まれている必要があります。