更改菜单actionLayout值?

时间:2017-09-07 12:55:23

标签: android android-layout android-menu android-navigationview android-drawer

我有导航抽屉,我可以通过访问navigationView.getHeaderView(0);

来更改字体,颜色等

Menu m = navigationView.getMenu(); MenuItem mi = m.getItem(index);然后我可以玩抽屉里的物品。

但在我的情况下,我的文字视图是另一种布局: -

<item
        android:id="@+id/nav_wallet"
        android:icon="@drawable/ic_balnce"
        android:title="@string/my_wallet"
        app:actionLayout="@layout/wallet_value"/>

在我的wallet_value layout中,我有一个textView,我需要更改它的值,如下图所示: -

enter image description here

我如何获得此布局并进行更改?

2 个答案:

答案 0 :(得分:2)

使用以下代码修复: -

 Menu menuView = navigationView.getMenu();
        MenuItem menuViewItem = menuView.getItem(4);
TextView walletValue =  menuViewItem.getActionView().findViewById(R.id.walletValue);

答案 1 :(得分:0)

科特林中可能的解决方案是:

val menuViewItem = navigationView.menu.findItem(R.id.nav_wallet)
val txtWalletVal = menuViewItem.actionView.walletValue
txtWalletVal.text = "-150"

我使用了 findItem()而不是 getItem(),以便在添加新菜单项时更加灵活。