本文介绍了如何从Web视图中调用对话框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个webview和一个类,该类的函数将与webview中的javascript一起使用
I have a webview and a class with functions that will be used with javascript inside the webview
具有函数(WebAppInterface.java)的类:
class with functions (WebAppInterface.java):
public class WebAppInterface { Context mContext; WebAppInterface(Context c) { mContext = c; } @JavascriptInterface public void closeApp() { ((Activity)mContext).finishAffinity(); } @JavascriptInterface public void refresh() { Intent i = new Intent(mContext, MainActivity.class); mContext.startActivity(i); ((Activity)mContext).finish(); } }如何在此文件内调用/创建Dialog类?
How can I call/create a Dialog class inside this file?
我试图打给:
Dialog ex = new Dialog(); ex.show(getSupportFragmentManager(), "Dialog");但是它什么都不做
推荐答案我希望您已经添加了活动:
I hope you have added in your activity:
WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); myWebView.addJavascriptInterface(new WebAppInterface(this), "Android");WebAppInterface不应扩展活动:
WebAppInterface should not extend Activity:
public class WebAppInterface { Context mContext; /** Instantiate the interface and set the context */ WebAppInterface(Context c) { mContext = c; } /** Show a toast from the web page */ @JavascriptInterface public void showDialog(String text) { //here code of alert dialog AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setTitle("abcd"); builder.setMessage(text); builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); Dialog dialog = builder.create(); dialog.show(); }}现在您在课堂上拥有活动上下文,因此您可以在课堂上执行所有其他任务
Now you have activity context in class so you can perform all other task in this class
更多推荐
如何从Web视图中调用对话框?
发布评论