我正在编写一个简单的浏览器。我不知道如何将状态保存WebView在MainActivity. 首次加载应用程序时,会打开 google.com 起始页。假设我在搜索栏中写了一些东西。更改屏幕方向后如何保存状态WebView,使搜索栏中的文字不消失?代码MainActivity:
public class MainActivity extends BaseActivity {
@BindView(R.id.webView)
WebView webView;
@Inject
UrlPreferences prefs;
MyWebViewClient webViewClient = new MyWebViewClient();
@Override
protected void onCreate(Bundle savedInstanceState) {
App.INSTANCE.getAppComponent().inject(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initButterKnife();
webView.getSettings().setJavaScriptEnabled(true);
if (savedInstanceState == null) {
webView.loadUrl("https://google.com");
} else {
webView.loadUrl(prefs.getUrl());
}
webView.setWebViewClient(webViewClient);
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onPause() {
super.onPause();
prefs.setUrl(webView.getUrl());
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
您可以添加禁止重新加载活动数据:
或者第二个选项是从以下位置恢复状态
onSaveInstanceState:并
onCreate()恢复它: