我在 Activity 中有一个 WebView,它在一个屏幕方向上效果很好。我可以导航到网站上的不同页面,当我点击后退按钮时,它会回到我之前访问过的上一个页面,
但是,当我将 Android 平板电脑从一个方向旋转到另一个方向时。就像从肖像到风景一样,这段历史消失了。我通过 saveInstanceState 将 WebView 当前所在的 URL 传递到下一个方向。
屏幕旋转后,新创建的 WeView 会按预期打开指向 URL 的页面。当我点击后退按钮时,它不会去任何地方。
我该如何解决这个问题?
这是我的一些代码,它是我处理后退按钮的部分。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK){
if (pageView.canGoBack()){
if((coverImage.getVisibility())==(View.VISIBLE)){
setYouTubeScreenDecor(false);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction =
fragmentManager.beginTransaction();
fragmentTransaction.hide(youTubePlayerFragment);
fragmentTransaction.commit();
if(playerVision!=null){
playerVision.pause();
}
return true;
} // end if
else {
pageView.goBack();
return false;
} // end else
} // end if pageview.canGoBack
} // event keycode
return true;
} // end if keyCode == KeyEvent.KEYCODE_BACK