关闭

WebView的使用方法

53人阅读 评论(0) 收藏 举报
<span style="font-size:18px;">public class MainActivity extends Activity {

	private WebView webView;

	@SuppressLint("NewApi")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

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

		// 设置webView状态信息
		WebSettings settings = webView.getSettings();
		// 设置webVIew是否支持js
		settings.setJavaScriptEnabled(true);
		// 设置webView打开自带的放缩按钮
		settings.setBuiltInZoomControls(true);
		settings.setSupportZoom(true);

		setWebView();

	}

	// 点击按钮,webView展示网页
	public void button(View v) {
		// String url = "http://www.baidu.com/";
		<span style="color:#ff0000;">// 访问assets文件夹的html页面
		String url = "file:///android_asset/jstest.html";</span>

		// url="<html><title>1409A</title><body><table><tr><td>用户名</td><td><input type='text' name='username'/></td></tr></table></body></html>";

		webView.loadUrl(url);
		// 加载本地的html代码
		// webView.loadDataWithBaseURL("about:blank", url, "text/html", "utf-8",
		// null);

		// 设置浏览器的处理类,主要处理js的弹出框
		webView.setWebChromeClient(new WebChromeClient() {

			@Override//返回true,客户端处理警告对话框
			public boolean onJsAlert(WebView view, String url, String message,
					final JsResult result) {
				
				Toast.makeText(MainActivity.this, "   " + message, 0).show();
				
				
				AlertDialog.Builder builder=new Builder(MainActivity.this);
				
				builder.setMessage(message);
				
				builder.setNegativeButton("确定", new OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						result.confirm();
					}
				});
				
				builder.setPositiveButton("取消", new OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						result.cancel();
					}
				});
				
				
				builder.show();
				
				
				return true;
			}

			
			
			@Override//js的确认框
			public boolean onJsConfirm(WebView view, String url,
					String message, JsResult result) {
				// TODO Auto-generated method stub
				return super.onJsConfirm(view, url, message, result);
			}
			
			
//			js的对话框
			@Override
			public boolean onJsPrompt(WebView view, String url, String message,
					String defaultValue, JsPromptResult result) {
				// TODO Auto-generated method stub
				return super.onJsPrompt(view, url, message, defaultValue, result);
			}
			
		});
	}

	/**
	 * 
	 */
	private void setWebView() {
		// 设置web加载页面的方法
		webView.setWebViewClient(new WebViewClient() {

			@Override
			// 页面开始加载
			public void onPageStarted(WebView view, String url, Bitmap favicon) {
				super.onPageStarted(view, url, favicon);

				System.out.println("页面开始加载" + url);
			}

			@Override
			// 页面已完成加载。
			public void onPageFinished(WebView view, String url) {
				// TODO Auto-generated method stub
				super.onPageFinished(view, url);
				System.out.println("页面已完成加载。" + url);
			}

			@Override
			// 返回false,当前url交给当前webView处理
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				// TODO Auto-generated method stub
				return false;
			}

		});
	}
}
</span>

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2010次
    • 积分:246
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条