我正在创建一个带有动态底部导航菜单的应用程序。每个菜单项的titleicon_name来自API调用。

我已经设法将JSON读取到称为AppNavigation的模型数组中,现在我想自定义底部的导航图标和标题。

对于书名,这样做很简单

menu.findItem(R.id.action_one).title = sqlAppNavigations[0].name

但是事实证明,图标更加困难。我的图标名称看起来像fa_homefa_users。我需要使用此字符串值,并使用它从所有FontAwesome图标的大枚举中获取图标。
menu.findItem(R.id.action_one).icon = FontAwesomeIcons.fa_home)

在Ruby on Rails中,我将使用FontAwesomeIcons.send('fa_home'),但我不知道在Kotlin中是如何完成同一件事的(或者即使使用编译语言也是如此)。

最佳答案

每个Enum都有几个隐式方法,我相信您正在寻找其中一个:EnumClass#valueOf(String)

menu.findItem(R.id.action_one).icon = FontAwesomeIcons.valueOf(sqlAppNavigations[0].icon)

Working with Enum Constants

07-26 09:39
查看更多