动态构建菜单文件名

时间:2010-11-19 00:03:31

标签: android menu

我有多个菜单文件menu_language_en,menu_language_es ...等 我想使用另一个变量加载它们,例如:

String lang="en";
inflater.inflate(eval("R.menu.language_menu_"+lang), menu);

任何想法??

由于 裘

1 个答案:

答案 0 :(得分:0)

正确的答案是使用resource sets,因此您根据语言在不同目录中拥有单个文件名(例如res/menu/options.xmlres/menu-de/options.xmlres/menu-zh/options.xml等。 )。您在代码中只需inflate(R.menu.options, menu),Android就会根据用户的区域设置选择正确的语言。

如果由于某种原因该解决方案不合适,请使用getResources().getIdentifier()派生给定名称的资源ID,然后在调用inflate()时使用该值。