展会信息港展会大全

WebView与ProgressDialog结合 android开发
来源:互联网   发布日期:2015-10-03 11:30:43   浏览:1329次  

导读:WebView组件支持直接加载网页,可以将其视为一个浏览器,要实现该功能,具体步骤如下:webview.xmlLinearLayout xmlns:android=http://schemas.android.com/apk/res/android android:orientation=vertical......

WebView组件支持直接加载网页,可以将其视为一个浏览器,要实现该功能,具体步骤如下:

webview.xml

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

<WebView android:id="@+id/webview"

android:layout_width="fill_parent"

android:layout_height="fill_parent"/>

</LinearLayout>

WebViewActivity.java

public class WebViewActivity extends Activity{

private WebView webView;

private AlertDialog alertDialog;

private ProgressDialog progressBar;

jQuery datatables使用

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.webview);

//加载WebView

initWebView();

}

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if(keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()){

webView.goBack();

return true;

}

return super.onKeyDown(keyCode, event);

}

class MyWebViewClient extends WebViewClient{

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

}

@Override

public void onPageFinished(WebView view, String url) {

if(progressBar.isShowing()){

progressBar.dismiss();

}

}

@Override

public void onReceivedError(WebView view, int errorCode,

String description, String failingUrl) {

Toast.makeText(WebViewActivity.this, "网页加载出错!", Toast.LENGTH_LONG);

alertDialog.setTitle("ERROR");

alertDialog.setMessage(description);

alertDialog.setButton("OK", new DialogInterface.OnClickListener(){

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

}

});

alertDialog.show();

}

}

protected void initWebView(){

//设计进度条

progressBar = ProgressDialog.show(WebViewActivity.this, null, "正在进入网页,请稍后 ");

//获得WebView组件

webView = (WebView) this.findViewById(R.id.webview);

webView.getSettings().setJavaScriptEnabled(true);

webView.loadUrl("http://www.baidu.com");

alertDialog = new AlertDialog.Builder(this).create();

//设置视图客户端

webView.setWebViewClient(new MyWebViewClient());

}

}

最后,需要在**Manifest.xml中添加访问互联网的权限,否则不能显示:

<uses-permission android:name="android.permission.INTERNET"/>

赞助本站

人工智能实验室

相关热词: WebView ProgressDialog

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港