El operador == no se puede aplicar a 'Long' e 'Int' en Kotlin
Estoy intentando implementar partes de NavigationDrawer de Mike Penz (https://github.com/mikepenz/MaterialDrawer) en Kotlin. Desde entonces, me he encontrado con algunos problemas, principalmente con los operadores. Aquí hay parte del código para crear una instancia del propio cajón. Android Studio no arroja ningún error, excepto cuando estoy usando el operador == en las variables int y Long:
// Create the Drawer
result = DrawerBuilder()
.withSliderBackgroundColor(ContextCompat.getColor(applicationContext, R.color.top_header))
.withActivity(this)
.withToolbar(toolbar)
.withHasStableIds(true)
.withItemAnimator(AlphaCrossFadeAnimator())
.withAccountHeader(headerResult!!)
.addDrawerItems(
PrimaryDrawerItem().withName(R.string.drawer_item_profile).withIcon(FontAwesome.Icon.faw_user).withIdentifier(1).withSelectable(false).withIconColor(ContextCompat.getColor(applicationContext, R.color.icon_grey)).withTextColor(ContextCompat.getColor(applicationContext, R.color.stroke)),
PrimaryDrawerItem().withName(R.string.drawer_item_create).withIcon(FontAwesome.Icon.faw_paint_brush).withIdentifier(2).withSelectable(false).withIconColor(ContextCompat.getColor(applicationContext, R.color.icon_grey)).withTextColor(ContextCompat.getColor(applicationContext, R.color.stroke)),
PrimaryDrawerItem().withName(R.string.drawer_item_yaanich_news).withIcon(FontAwesome.Icon.faw_newspaper_o).withIdentifier(3).withSelectable(false).withIconColor(ContextCompat.getColor(applicationContext, R.color.icon_grey)).withTextColor(ContextCompat.getColor(applicationContext, R.color.stroke)),
PrimaryDrawerItem().withName(R.string.drawer_item_my_groups).withIcon(FontAwesome.Icon.faw_users).withIdentifier(4).withSelectable(false).withIconColor(ContextCompat.getColor(applicationContext, R.color.icon_grey)).withTextColor(ContextCompat.getColor(applicationContext, R.color.stroke)),
PrimaryDrawerItem().withName(R.string.drawer_item_settings).withIcon(FontAwesome.Icon.faw_cog).withIdentifier(5).withSelectable(false).withIconColor(ContextCompat.getColor(applicationContext, R.color.icon_grey)).withTextColor(ContextCompat.getColor(applicationContext, R.color.stroke))
)
.withOnDrawerItemClickListener { view, position, drawerItem ->
if (drawerItem != null) {
var intent: Intent? = null
if (drawerItem.identifier == (1) {
intent = Intent(this, UserProfileActivity::class.java)
} else if (drawerItem.identifier == 2) {
intent = Intent(this, YeetActivity::class.java)
} else if (drawerItem.identifier == 3) {
intent = Intent(this, RssActivity::class.java)
} else if (drawerItem.identifier == 4) {
intent = Intent(this, GroupsActivity::class.java)
} else if (drawerItem.identifier == 5) {
intent = Intent(this, UserSettingsActivity::class.java)
}
if (intent != null) {
this.startActivity(intent)
}
}
false
}
.withSavedInstance(savedInstanceState)
.withShowDrawerOnFirstLaunch(true)
.build()
RecyclerViewCacheUtil<IDrawerItem<*, *>>().withCacheSize(2).apply(result!!.recyclerView, result!!.drawerItems)
if (savedInstanceState == null) {
result!!.setSelection(21, false)
headerResult!!.activeProfile = profile
}
}
Errores:
if (drawerItem.identifier == (1)
if (drawerItem.identifier == 2)
Operator == cannot be applied to 'Long and' 'Int'