2016-02-09 1 views
2

Я хотел бы динамически установить значок в меню. Значки называются week01, week02 .. и так далее. Есть ли способ изменить значок, просто используя «week» + number?выберите изображение с названия и индекса

У меня было что-то вроде этого в виду:

MenuItem item = mMenu.findItem(R.id.action_week); 
int id = getResources().getIdentifier("week" + number, "drawable", "res.drawable-xhdpi"); 
item.setIcon(id); 

Это, как я сделать это сейчас:

switch (number){ 
     case "01": 
      item.setIcon(R.drawable.week01); 
      break; 
     case "02": 
      item.setIcon(R.drawable.week02); 
      break; 
     case "03": 
      item.setIcon(R.drawable.week03); 
      break; 
+2

первый метод правильный. Третий параметр неверен. Вы должны использовать 'getPackageName()' вместо '" res.drawable-xhdpi "' – Blackbelt

+1

Спасибо, что это работает сейчас :) – Helgegren

ответ

1

Как сказано в комментариях это, как это должно быть:

MenuItem item = mMenu.findItem(R.id.action_week); 
int id = getResources().getIdentifier("week" + number, "drawable", getPackageName()); 
item.setIcon(id); 
Смежные вопросы