【问题标题】:Change the menu actionLayout value?更改菜单 actionLayout 值?
【发布时间】:2017-09-07 12:55:23
【问题描述】:

我有导航抽屉,我可以更改字体、颜色等。通过访问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 我需要更改它的值,如下图所示:-

我怎样才能得到这个布局并改变它?

【问题讨论】:

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


    【解决方案1】:

    使用以下代码修复:-

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

    【讨论】:

    • 为了访问菜单项,你也可以这样做:“menuView.findItem(R.id.nav_wallet)”。
    • 这个答案好得像害虫!太好了!
    【解决方案2】:

    Kotlin 中可能的解决方案是:

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

    我使用 findItem() 而不是 getItem() 以便在添加新菜单项时具有更大的灵活性。

    【讨论】:

    • 您好我想将菜单自定义布局设置为左侧|开始我该怎么做?我想要-150 My Wallet 被写入。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    相关资源
    最近更新 更多