【发布时间】:2014-05-08 21:16:10
【问题描述】:
这是我在这里的第一个问题,希望我不要重复问什么。
我正在制作一个仅包含 WebView 的 Android 应用程序。问题是 onResume() 不会再次加载我的网站。我有一些外部链接可以打开其他应用程序(浏览器、Twitter 应用程序等),当我想返回我的应用程序时,它会显示 LinearLayout 的背景,并且不会加载 WebView。锁定屏幕时我遇到了同样的问题,解锁后它显示一个空白屏幕(实际上是我的背景)。
这是我第一次使用 Android,所以我不知道它是如何工作的,这是我的 onPause() 代码:
@Override
public void onPause() {
myWebView.setVisibility(WebView.GONE);
myWebView.destroy();
super.onPause();
}
这是 onCreate() 的代码,我不知道其他是否与此问题相关:
WebView myWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
//Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.setContentView(R.layout.activity_main);
super.onCreate(savedInstanceState);
if (!DetectConnection.checkInternetConnection(this)) {
Toast.makeText(getApplicationContext(), "No conn message", Toast.LENGTH_LONG).show();
myWebView = (WebView) findViewById(R.id.webView);
myWebView.setBackgroundColor(0);
myWebView.setBackgroundResource(R.drawable.background_wv);
myWebView.getSettings().setBuiltInZoomControls(true);
myWebView.getSettings().setSupportZoom(true);
myWebView.getSettings().setUseWideViewPort(true);
myWebView.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY);
} else {
myWebView.loadUrl(myURL);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.addJavascriptInterface(new WebAppInterface(this), "Android");
myWebView.setWebViewClient(new MyWebViewClient());
}
}
谢谢!
PS:我没有 onResume 代码。
【问题讨论】:
-
可以添加onResume代码吗?
-
@Androidz 我没有 onResume 代码
-
那么这就是问题所在,您在 onPause 方法中破坏了 webview,而不是在 onResume 中重新创建它。除非活动本身被破坏,否则一旦您返回应用程序,onCreate 将不会再次被调用。
-
这就是问题所在,我不记得为什么我在 onPause 中调用 destroy() 将其删除,现在它可以工作了。谢谢。