Внутри моего android приложения мне нужно создать функцию внутри класса MyAdapter
, который используется внутри Activity MyActivity
(которая не является MainActivity
). Функция должна иметь следующую структуру
public int getDrawableResourceId(String name) {
// naive explanation
return R.drawable. + name
}
Например, если я вызову getDrawableResorceId("test")
, она должна вернуть целочисленное значение R.drawable.test
. Я не могу работать с int drawableResourceId = getResources().getIdentifier(name, "drawable", getPackageName());
, потому что Android Studio сообщает, что не может разрешить методы getResources()
и getPackageName()
. Если я заменю его на
int drawableResourceId = MyActivity.this
.getResources()
.getIdentifier(name, "drawable", MyActivity.this.getPackageName());
или
int drawableResourceId = MainActivity.this
.getResources()
.getIdentifier(name, "drawable", MainActivity.this.getPackageName());
Android Studio скажет мне, что Activity не является включающим классом. Вот почему я прямо хочу бросить строку в R.drawable.name
.