8

私は webview を持っていて、その wv で webservice からデータを呼び出しています。webview のその全体の説明では、最後にリンクがあります。だから、私の問題は、そのリンクのonclickで新しいアクティビティを開きたいだけで、webviewのonclickでもwebviewのontouchでもないということです

4

1 に答える 1

17

の実装を提供する必要がありますshouldOverrideUrlLoadingWebViewClientWebView 用に をセットアップする必要があり、このメソッド内には、そのリンクを認識して新しい を開くロジックが必要Activityです。何かのようなもの:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView wv = (WebView) findViewById(R.id.myWebView);
        wv.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                if(isURLMatching(url)) {
                    openNextActivity();
                    return true;
                }
                return super.shouldOverrideUrlLoading(view, url);
            }
        });
    }

    protected boolean isURLMatching(String url) {
            // some logic to match the URL would be safe to have here
        return true;
    }

    protected void openNextActivity() {
        Intent intent = new Intent(this, MyNextActivity.class);
        startActivity(intent);
    }
于 2013-07-25T15:25:33.667 に答える