diff --git a/android/src/main/java/com/reactnativemenu/MenuView.kt b/android/src/main/java/com/reactnativemenu/MenuView.kt index d30534e4..27c03c89 100644 --- a/android/src/main/java/com/reactnativemenu/MenuView.kt +++ b/android/src/main/java/com/reactnativemenu/MenuView.kt @@ -98,6 +98,7 @@ class MenuView(private val mContext: ReactContext): ReactViewGroup(mContext) { true -> config.getArray("subactions") else -> null } + val menuState = config?.getString("state") if (titleColor != null) { menuItem.title = getMenuItemTextWithColor(menuItem.title.toString(), titleColor) @@ -153,6 +154,15 @@ class MenuView(private val mContext: ReactContext): ReactViewGroup(mContext) { } } + // Handle menuState for checkable items + when (menuState) { + "on", "off" -> { + menuItem.isCheckable = true + menuItem.isChecked = menuState == "on" + } + else -> menuItem.isCheckable = false + } + // On Android SubMenu cannot contain another SubMenu, so even if there are subactions provided // we are checking if item has submenu (which will occur only for 1 lvl nesting) if (subactions != null && menuItem.hasSubMenu()) {