标签:
1 package com.example.webview; 2 3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.app.AlertDialog; 6 import android.content.DialogInterface; 7 import android.content.DialogInterface.OnClickListener; 8 import android.view.Menu; 9 import android.webkit.JsResult; 10 import android.webkit.WebChromeClient; 11 import android.webkit.WebSettings; 12 import android.webkit.WebView; 13 14 public class MainActivity extends Activity { 15 16 @Override 17 protected void onCreate(Bundle savedInstanceState) { 18 super.onCreate(savedInstanceState); 19 setContentView(R.layout.activity_main); 20 21 // 找打控件 22 WebView web = (WebView) findViewById(R.id.web); 23 // 得到websetting 24 WebSettings webs = web.getSettings(); 25 // 设置编码 26 webs.setDefaultTextEncodingName("utf-8"); 27 // 设置支持JavaScriptEnabled 28 webs.setJavaScriptEnabled(true); 29 // 找到在assets下的html文件 30 web.loadUrl("file:///android_asset/index.html"); 31 // 设置监听 32 web.setWebChromeClient(new WebChromeClient() { 33 @Override 34 // 重写Alert方法 35 public boolean onJsAlert(WebView view, String url, String message, 36 JsResult result) { 37 // TODO Auto-generated method stub 38 // 关闭网页自带的提示 39 result.cancel(); 40 // 得到对象 41 AlertDialog.Builder b = new AlertDialog.Builder( 42 MainActivity.this); 43 // 重新定义弹出框的内容必须要有show因为要显示出来 44 b.setTitle("提示框").setIcon(R.drawable.ic_launcher) 45 .setMessage(message).setPositiveButton("确定", null) 46 .show(); 47 // 返回一个true 48 return true; 49 } 50 51 @Override 52 // 重写Confirm方法是点击提交时的弹出框 53 public boolean onJsConfirm(WebView view, String url, 54 String message, final JsResult result) { 55 // TODO Auto-generated method stub 56 57 // 得到对象 58 AlertDialog.Builder b = new AlertDialog.Builder( 59 MainActivity.this); 60 // 重写点击提示的标题图片和下面的内容 61 b.setTitle("确认框").setIcon(R.drawable.ic_launcher) 62 .setMessage(message) 63 // 设置点击确定时要干的事情 64 .setPositiveButton("确定", new OnClickListener() { 65 66 @Override 67 public void onClick(DialogInterface dialog, 68 int which) { 69 // TODO Auto-generated method stub 70 result.confirm(); 71 } 72 // 设置点击取消时要干的事请 73 }).setNegativeButton("取消", new OnClickListener() { 74 75 @Override 76 public void onClick(DialogInterface dialog, 77 int which) { 78 // TODO Auto-generated method stub 79 result.cancel(); 80 } 81 }).show(); 82 83 // 返回一个true 84 return true; 85 } 86 }); 87 } 88 }
标签:
原文地址:http://www.cnblogs.com/zhang117/p/5134335.html