重新创建应用程序时无法设置 BottomNavigationView 的活动项目

Can't set active item of BottomNavigationView while recreating app

重新创建应用时无法设置 BottomNavigationView 的活动项目:重新创建应用后最后选择的项目处于活动状态,因此 BottomNavigationView.setSelectedItemId(R.id.item0) 没有视觉效果,但 onNavigationItemSelected 已成功调用。

那么我怎样才能防止恢复 BNV 以前的活动项目?谢谢

您需要在 onResume() 中执行此操作,因为虽然您的 app 在最近的 apps 中,但 BottomNavigationView 总会抓到位置的。

为什么设置位置不起作用?

因为你设置的位置在onCreate()里面,当应用程序从最近的应用程序启动时不会被调用。

那怎么设置位置呢?

onStart()onResume() 中,这将起作用。

如何检查应用程序是否从 recent-apps 打开?

我们可以玩布尔值,例如:

boolean isFromRecents = false;

onCreate(){
isFromRecents = true;
}

onResume(){
if(isFromRecents)
   //do smth
}