webview alert confirm 重写
2016-03-02 11:23
232 查看
直接上代码:
[code]public class MainActivity extends Activity { WebView webVContent; WebSettings webSettings; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.maintest); webVContent = (WebView) findViewById(R.id.myweb); webVContent.setWebChromeClient(new WebChromeClient() { @Override public boolean onJsConfirm(WebView view, String url, String message, JsResult result) { AlertDialog.Builder confirm = new AlertDialog.Builder(MainActivity.this, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT); confirm.setTitle("提示"); confirm.setMessage(message); final JsResult a = result; confirm.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { a.cancel(); } }); confirm.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { a.confirm(); } }); confirm.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { a.cancel(); } }); AlertDialog create = confirm.create(); create.setCanceledOnTouchOutside(true); create.show(); return true; } @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT); alert.setTitle("提示"); alert.setMessage(message); final JsResult a = result; alert.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { a.confirm(); } }); alert.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { a.cancel(); } }); AlertDialog create = alert.create(); create.setCanceledOnTouchOutside(true); create.show(); return true; } }); webVContent.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); webSettings = webVContent.getSettings(); webSettings.setJavaScriptEnabled(true); webVContent.loadUrl("file:///android_asset/index.html"); } @Override public void onBackPressed() { if (webVContent.canGoBack()) { webVContent.goBack(); } else { super.onBackPressed(); } } @Override protected void onDestroy() { if(webSettings!=null) webSettings.setJavaScriptEnabled(false); super.onDestroy(); } }
相关文章推荐
- iOS实现从背景图中取色的代码
- 非ARC模式下内存管理总结
- Android应用程序中的多个Activity的显示创建和调用
- 解决Android端升级安装后自动打开的问题
- android的一些简单优化
- 将war包部署到android服务器上
- Android中View自定义XML属性详解以及R.attr与R.styleable的区别
- android studio1.4新建工程运行出错
- android点点滴滴
- Android: 保存键值集(SharedPreferences)
- android调用系统打电话发短信qq会话
- android设置ListView的EmptyView
- iOS Error Domain=com.alamofire.error.serialization.response Code=-1016
- iOS 删除 Main.storyboard 和 LaunchScreen.storyboard
- (转).net Application.DoEvents()的作用
- iOS 日期字符串相互转换
- 老罗Android观后总结
- Activity的启动流程
- android apk 防止反编译技术第五篇-完整性校验
- android的Shader