BottomNavigationView是google推出的一个底部导航栏。 具体使用方法本文网上有很多,本文不再赘述。本文主要讲笔者使用过程中遇到的一个坑,并且目前并没有太好的解决,如果读者有解决方案,请在评论里回复我,谢谢。
坑介绍
项目中MainActivity使用BottomNavigationView做为底部导航栏,配置四个Fragment,从其中的第二个Fragment跳转到SecondActivity。把App放到后台,时间久了之后,MainActiviy有可能因为内存回收,导致销毁。这时候在SecondActivity页面点击返回键,MainActivity会重新创建,会展示第一个Fragment的页面,但是底部的导航栏依然停留在第二个tab上。
解决方案
在onResume的时候执行setSelectedItemId方法,手动触发底部导航栏的点击事件。
@Override
protected void onResume() {
super.onResume();
bottomNavigation.setSelectedItemId(R.id.main_wallpaper);
}
困惑点
笔者在onCreate中执行setSelectedItemId这个方法,但是不起作用。不知道具体原因是什么。如果有大神知道,请告知,谢谢。