Home > Enterprise >  Using Kotlin I want to programmatically change an icon in the bottom_nav_menu from an activity but a
Using Kotlin I want to programmatically change an icon in the bottom_nav_menu from an activity but a

Time:01-16

I am using Android Studio (Kotlin). In my res/menu folder I have a file called bottom_nav_menu.

<?xml version="1.0" encoding="utf-8"?>
<menu
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@ id/miPlayers"
        android:icon="@drawable/ic_person"
        android:title="Players" />
    <item
        android:id="@ id/miPigInfo"
        android:icon="@drawable/ic_pig_svgrepo_com"
        android:title="Pigs" />
    <item
        android:id="@ id/textinput_placeholder"
        android:title="Won" />
    <item
        android:id="@ id/miAbout"
        android:icon="@drawable/ic_info_white"
        android:title="About" />
    <item
        android:id="@ id/miSettings"
        android:icon="@drawable/ic_target_score_500"
        android:title="Target" />
</menu>

I want to access and change the icon programmatically in the last item miSettings from my MainActivity.kt. I am using viewBinding but if it is easier then I could use viewById. Any help would be greatly appreciated.

CodePudding user response:

just do like this
replace this id (R.id.miSettings) with your item id you want to change

bottom_nav_menu.menu.findItem(R.id.miSettings).setIcon(R.drawable.your_drawable_name);

  •  Tags:  
  • Related