ASLの25.0を使用するBottomNavigationView
選択したアイテム(またはインデックス)と選択したアイテムをプログラムで保存するなどのトラブルが発生しました。Save BottomNavigationスクリーンローテーション中に選択したアイテムを表示
答えて
ニコラと同意してください!
私はあなたActivity
に追加する必要が回転した後の状態を保存するには、私自身gistすぎ
を作成しました:
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putInt("opened_fragment", bottomNavigation.getCurrentItem());
super.onSaveInstanceState(outState);
}
とonCreate
方法に、ちょうどBottomNavigationView
を設定した後:
final defaultPosition = 0;
final int bottomNavigationPosition = savedInstanceState == null ? defaultPosition :
savedInstanceState.getInt("opened_fragment", defaultPosition);
bottomNavigation.setCurrentItem(bottomNavigationPosition);
この要点の最大のプラスは次のとおりです。リスナーはほとんどありません。以前の選択肢を示しています。プログラムによって位置が設定されている場合でも、イオンとリスナーは反応します。すべてがリンクで書かれており、必要に応じて使います。
位置がビューの対象と見なされる場合は、そのビューをビューの実装内に保存する必要があります。したがって、 'Activity'クラスに行くよりも、ビューの適切な保存と復元の状態メソッドに保存するのが一般的です。 –
私はBottomNavigationViewで作業しています。ここでは、アプリケーションが画面回転で正しく動作するコードを示します。 まず、私が選択したメニュー
private int saveState;
値を取り出すのonCreate方法で、変数
@Override
protected void onResume() {
super.onResume();
navigation.setSelectedItemId(saveState);
}
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
saveState = navigation.getSelectedItemId();
}
に選択されたメニューIDを取ることにより、IDの値を保存するIDを保持する変数を作成しましたIDを利用できる
if(savedInstanceState!=null){
navigation.setSelectedItemId(saveState);
}else{
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.content, MapFragment.newInstance());
transaction.commit();
}
場合、私は同じ問題を抱えて、何私がやったことは2から更新するようにしました。 5.0.1〜25.3.1となり、追加のコードなしで正しく動作するようになりました。 Support Library Revision websiteの最新バージョンを確認できます。
私はそれが役に立ちそうです。
- 1. 選択したアイテムをリストボックスに表示
- 2. リスト表示選択したアイテムをテキストボックス
- 3. 選択したアイテムをリストビューからテキストビューに表示
- 4. 選択したアイテムをナビゲーションドロワーにハイライト表示する
- 5. 選択したアイテムのリストのみを表示するには?
- 6. 選択したアイテムの情報を表示するには?
- 7. TreeViewは選択したアイテムの青色を表示します
- 8. ポリマー:選択したアイテムがペーパーリストボックスに表示されない
- 9. ドロップダウンボックスから選択したアイテムを表示し、テーブル形式で表示する
- 10. angular2-multiselect:編集中に選択した値をリストに表示
- 11. Angular2とRxJsで選択したアイテムを強調表示
- 12. QTreeViewで選択したアイテムの表示テキストを変更する
- 13. MvxListViewで選択したアイテムを強調表示する方法
- 14. 選択したアイテムを表示wpf mvvmでバインド
- 15. ASP.NET MVC/Bootstrap - リストから選択したアイテムをナビゲーションコントロールで表示
- 16. ItemsControlで選択したアイテムをハイライト表示する方法は?
- 17. android:ListViewで選択したアイテムを表示する方法(複数)
- 18. ListView、選択したアイテムを強調表示する
- 19. リストビューで選択した数のアイテムのみをアンドロイドで表示
- 20. 再度選択した場合、現在のリスト表示アイテムの選択解除
- 21. 選択したインデックスを変更すると、選択したアイテムをリストボックスに表示します。スクロールListBox
- 22. drupalの「親アイテム」選択ボックスに表示されるメニューを選択します
- 23. 選択したハイライト表示されているGalleryViewアイテム
- 24. スピンナーからアイテムを選択してテキストビューに表示
- 25. 表示選択したオプション
- 26. 選択ボックスに「選択したオプション」を表示しますか?
- 27. WPF:リストボックス、選択したアイテムを中心にする
- 28. ドロップダウンボックスを設定し、最後に選択したアイテムをPHPで表示
- 29. jCarouselクラスが選択されたアイテムを表示
- 30. スピナーで選択されたアイテムのデータベースの詳細を表示
チェックしたい項目を設定してみませんか?あなたが投稿した最後のリンク(https://code.google.com/p/android/issues/detail?id = 225900&q = BottomNavigationView&colspec = ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened) bottomNavigationView.getMenu()。findItem(selectedItem).setChecked(true); –