3

Twitter ウィジェット ファイルを webview に読み込もうとしています。私の webview は正しく読み込まれますが、webview 内のリンク (twitter ウィジェット ファイル内のリンク) を開こうとすると、上記のエラーが発生し、画面全体が空白になります。以下は私が使用しているコードです。

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_view_all);

    String url = getIntent().getExtras().getString("url");

    webProgress = (ProgressBar) mCustomView.findViewById(R.id.webProgress);
    mWebView = (WebView) findViewById(R.id.web_view);
    noDataConnection = (LinearLayout) findViewById(R.id.layout_no_network);
    detector = new ConnectionDetector(this);
    mWebView.getSettings().setDomStorageEnabled(true);

    mWebView.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            // Log.e(TAG, "shouldOverrideUrlLoading : " + url);

            if (!detector.isConnectingToInternet()) {
                noDataConnection.setVisibility(View.VISIBLE);
                webProgress.setVisibility(View.GONE);
                return true;
            } else {
                noDataConnection.setVisibility(View.GONE);
                webProgress.setVisibility(View.VISIBLE);
                return false;
            }
        }

        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            super.onReceivedError(view, errorCode, description, failingUrl);
            noDataConnection.setVisibility(View.VISIBLE);
            webProgress.setVisibility(View.GONE);
        }

    });
    mWebView.setWebChromeClient(new WebChromeClient() {

        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            super.onProgressChanged(view, newProgress);

            if (newProgress >= 100) {
                Log.e(TAG, "onProgressChanged : 100%");
                webProgress.setVisibility(View.GONE);
            }
        }
    });
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setBuiltInZoomControls(true);
    mWebView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);


    if (!detector.isConnectingToInternet()) {
        noDataConnection.setVisibility(View.VISIBLE);
        webProgress.setVisibility(View.GONE);
    } else {
        noDataConnection.setVisibility(View.GONE);
        webProgress.setVisibility(View.VISIBLE);
        mWebView.loadUrl(url);
    }
}

どんな助けでも大歓迎です。

4

1 に答える 1

1

私は最終的にこのスレッドの応答で解決策を見つけました:

https://stackoverflow.com/a/11280814/555153

ツイートのクリックがうまく検出されないのは、iFrame が原因です。

于 2014-09-24T14:55:29.337 に答える