Androidアプリを書いてるみんなは、BottomNavigationViewを上手に使えてるかな?
今日はそのBottomNavigationViewに関するおはなしー!
BottomNavigationViewはidをつけても選択状態は保存してくれないんだ。(support v25.1.1で確認)
なので、Viewの再生成時は自分で選択状態を戻さないといけないね。
BottomNavigationViewの選択状態を変更するには、次の2通りがあるよ
- setChecked(true)を使う方法
- performClick()を使う方法
setChecked(true)を使う方法
こちらは選択状態「だけ」を変更するよ。Viewの状態復元にはこちらがいいかな?
Menu menu = bottomNavigationView.getMenu();
MenuItem menuItem = menu.getItem(position);
menuItem.setChecked(true);
performClick()を使う方法
こちらは項目をタップしたのと同じ動作になるよ。findViewById()でViewがとれるのはたまたまな気はするけど。。。
Menu menu = bottomNavigationView.getMenu();
MenuItem menuItem = menu.getItem(position);
bottomNavigationView.findViewById(menuItem.getItemId()).performClick();
今回のサンプルをgithubで公開したので、動かしてみてねー!
0 件のコメント:
コメントを投稿