ナビゲーションドロワーの書くメニュー要素のViewを取得したいとするのだがこれが難しい。
ナビゲーションドロワーに通常使われるNavigationViewだが、特に各要素のViewにアクセスするメソッドは用意されていないようだ。MenuItem
なら取れるけど。
customViewを設定しているわけでもないのでfindViewById
もだめ。
と思っていたらfindViewsWithText
が使えるらしい。
val outViews = ArrayList<View>() |
navigationView.findViewsWithText(outViews, "メニュー1", View.FIND_VIEWS_WITH_TEXT)
空の配列を渡しておけばそのテキストを持つViewを配列に入れておいてくれる。