我有多个菜单文件menu_language_en,menu_language_es ...等 我想使用另一个变量加载它们,例如:
String lang="en";
inflater.inflate(eval("R.menu.language_menu_"+lang), menu);
任何想法??
由于 裘
答案 0 :(得分:0)
正确的答案是使用resource sets,因此您根据语言在不同目录中拥有单个文件名(例如res/menu/options.xml
,res/menu-de/options.xml
,res/menu-zh/options.xml
等。 )。您在代码中只需inflate(R.menu.options, menu)
,Android就会根据用户的区域设置选择正确的语言。
如果由于某种原因该解决方案不合适,请使用getResources().getIdentifier()
派生给定名称的资源ID,然后在调用inflate()
时使用该值。