我正在创建一个带有动态底部导航菜单的应用程序。每个菜单项的title
和icon_name
来自API调用。
我已经设法将JSON读取到称为AppNavigation
的模型数组中,现在我想自定义底部的导航图标和标题。
对于书名,这样做很简单
menu.findItem(R.id.action_one).title = sqlAppNavigations[0].name
但是事实证明,图标更加困难。我的图标名称看起来像
fa_home
或fa_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