问题
I am developing an Android Application. I want to show web site with WebView. But i don't it. A blank/empty page is opening. The other web site showing but Why this is not showing?
My code is below
Please Help me,
Thanks.
public class MainActivity extends ActionBarActivity{
private WebView ourWebSite;
private ProgressDialog pd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initViews();
setProgressDialog();
}
private void initViews(){
ourWebSite = (WebView) findViewById(R.id.ada_web_site);
ourWebSite.getSettings().setJavaScriptEnabled(true);
ourWebSite.setWebViewClient(new WebSiteWebViewClient());
ourWebSite.loadUrl("http://fahrikayahantaksi.com/");
}
private void setProgressDialog(){
pd = new ProgressDialog(MainActivity.this);
pd.setMessage(getResources().getString(R.string.loading));
pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pd.show();
}
private class WebSiteWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
if (!pd.isShowing()) {
pd.show();
}
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
System.out.println("on finish");
if (pd.isShowing()) {
pd.dismiss();
}
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed(); // Ignore SSL certificate errors
}
}
}
回答1:
I think in your code you missed this suppressLint
@SuppressLint("SetJavaScriptEnabled")
Try to change your code like this.. in this way i am able to load your [page]
private WebView mWebview=null ;
@SuppressLint("SetJavaScriptEnabled")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mWebview = new WebView(this);
mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript
final Activity activity = this;
mWebview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
});
mWebview.loadUrl("http://fahrikayahantaksi.com/");
setContentView(mWebview );
}
Don't forgot to add the Internet permission in your manifest !!
uses-permission android:name="android.permission.INTERNET" />
回答2:
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webview);
String url = getIntent().getStringExtra("url");
webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
final Activity activity = this;
webView.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
});
webView.loadUrl("http://docs.google.com/viewer?embedded=true&url=" + url);
setContentView(webView );
}
I used google docs to open pdf.
来源:https://stackoverflow.com/questions/30391356/android-webview-with-http-loadurl-shows-blank-empty-page