错误的第一个参数类型.找到:android.webkit.WebViewClient,必需:android.app.Activity

Pra*_*nth -2 android chrome-custom-tabs

当我尝试使用我的Chrome自定义标签时shouldOverrideUrlLoading(),webViewClient()我收到以下错误:

错误的第一个参数类型.找到:'android.webkit.WebViewClient',必填:'android.app.Activity'

这是我的代码 - 我正在使用这个GitHub存储库https://github.com/GoogleChrome/custom-tabs-client.错误来自我对this关键字的使用.

我在Fragment中,而不是在Activity中

mWebView.setWebViewClient(new WebViewClient() {

    public boolean shouldOverrideUrlLoading(WebView view, String url) {

        CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder().build();
        CustomTabActivityHelper.openCustomTab(this, customTabsIntent, Uri.parse(url), new WebviewFallback());

        Toast toast = Toast.makeText(getApplicationContext(),
        "This is a message displayed in a Toast" + url, Toast.LENGTH_SHORT);

        toast.show();
        return true;
    }

}
Run Code Online (Sandbox Code Playgroud)

ano*_*non 5

您使用的this是在匿名类(new WebViewClient())的上下文中,因此this引用的类型WebViewClient.

由于您正在使用片段,因此可以替换thisgetActivity():

CustomTabActivityHelper.openCustomTab(getActivity(), customTabsIntent, Uri.parse(url), new WebviewFallback());
Run Code Online (Sandbox Code Playgroud)