0
我在活动中有一个WebView,它在一个屏幕方向上工作得很好。我可以导航到网站上的不同页面,当我点击后退按钮时,它会返回到之前访问过的前几页,但是,当我将Android平板电脑从一个方向旋转到另一个方向时。如从肖像到风景,这段历史已经失传。我通过savedInstanceState将WebView当前所在的URL传递给下一个方向。webview backstack在屏幕旋转后丢失,页面的后退按钮历史记录,Android
屏幕旋转后,新创建的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