我有导航抽屉,我可以通过访问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,我需要更改它的值,如下图所示: -
我如何获得此布局并进行更改?
答案 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(),以便在添加新菜单项时更加灵活。