【问题标题】:Android App: How to loadUrl in WebView from another class?Android App:如何从另一个类加载WebView中的Url?
【发布时间】:2011-10-27 11:37:40
【问题描述】:

我对 Android 应用程序编程和 Java 还是很陌生。我希望我的应用程序使用 WebView 来显示所有需要的内容。用户可以单击 HTML 按钮或链接,这会向我的 Android java 类发送请求,例如显示另一个页面。

因此,我的主类像这样加载 Webview:

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
myWebView.setWebViewClient(new WebViewClient());
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl("file:///android_asset/html/status01.html");

public class JavaScriptInterface我想要一个函数加载另一个URL:

public void showOffers() {
    WebView myWebView = (WebView) ((Activity) mContext).findViewById(R.id.webview);
    myWebView.loadUrl("file:///android_asset/html/offers.html");
}

但这不能编译,因为:Activity cannot be resolved to a type

如何从我的 JavaScriptInterface 类访问 WebView 以加载另一个 URL?

【问题讨论】:

    标签: java javascript android webview


    【解决方案1】:

    JavaScriptInterface 类定义为Activity 的内部类,并将对WebView 的引用存储为Activity 的成员变量。

    因为内部类可以访问定义它们的类的成员变量,所以你可以把你的代码改成这样:

    MyWebActivity extends Activity{
        private WebView myWebView;
        protected void onCreate(Bundle bundle){
            myWebView = (WebView) findViewById(R.id.webview);
            myWebView.addJavascriptInterface(new JavaScriptInterface(), "Android");
            myWebView.setWebViewClient(new WebViewClient());
            WebSettings webSettings = myWebView.getSettings();
            webSettings.setJavaScriptEnabled(true);
            myWebView.loadUrl("file:///android_asset/html/status01.html");
        }
    
        private class JavaScriptInterface{
            JavaScriptInterface(){
            }
            public void showOffers() {                
                myWebView.loadUrl("file:///android_asset/html/offers.html");
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-26
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      相关资源
      最近更新 更多