将webview与另一个活动相关联

时间:2016-06-14 05:43:39

标签: android android-activity webview hyperlink

我的问题是我在webview中创建的链接无法正常工作,然后当我点击它时,它不会转到另一个Activity,那么我的错误在哪里? 请帮忙!!!谢谢

prknln1.loadDataWithBaseURL("file:///android_asset",Perkenalan,"text/html","utf-8",null);
        prknln1.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                Intent i;
                {
                    if (url.equalsIgnoreCase("TabHiragana")) {
                        i = new Intent(getApplicationContext(), TabHiragana.class);
                        startActivity(i);
                    } else if (url.equalsIgnoreCase("TabKatakana")) {
                        i = new Intent(getApplicationContext(), TabKatakana.class);
                        startActivity(i);
                    } else if (url.equalsIgnoreCase("Kanji")) {
                        i = new Intent(getApplicationContext(), List_Kanji.class);
                        startActivity(i);
                    }
                }
                Log.e("URL", "URL" + url);
                return true;
            }
        });

2 个答案:

答案 0 :(得分:0)

我认为您将检查网址中的特定字词,因为您需要使用包含方法。

prknln1.loadDataWithBaseURL("file:///android_asset",Perkenalan,"text/html","utf-8",null);
        prknln1.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                Intent i;
                {
                    if (url.contains("TabHiragana")) {
                        i = new Intent(getApplicationContext(), TabHiragana.class);
                        startActivity(i);
                    } else if (url.contains("TabKatakana")) {
                        i = new Intent(getApplicationContext(), TabKatakana.class);
                        startActivity(i);
                    } else if (url.contains("Kanji")) {
                        i = new Intent(getApplicationContext(), List_Kanji.class);
                        startActivity(i);
                    }
                }
                Log.e("URL", "URL" + url);
                return true;
            }
        });

答案 1 :(得分:0)

打开一个活动并将参数传递给它:

在您的文字数据(myText)中,有网址:

"<a href=\"" + word + "\">" + word + "</a>"

加载数据:

webView.loadDataWithBaseURL("file:///android_asset", myText, "text/html", "utf-8", null);

setWebViewClient:

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                if (url.startsWith("file")) {
                    Intent intent = new Intent(MyActivity.this, MyActivity.class);
                    intent.putExtra("word", Uri.parse(url).getLastPathSegment());
                    startActivity(intent);
                    return true;
                } else
                    return false;
            }
        });