1

現在、特定のボタンを押すと、Web ページを webView に開く意図が開始されますが、代わりにブラウザ アプリケーションが開き、必要ではないアドレス バーが表示されます。

いくつかの調査を行った後、shouldOverrideUrlLoading() メソッドを使用してこれを停止し、webView でページを開くことができることがわかりましたが、コードにこのメソッドを実装する方法がわかりません。助けていただければ幸いです!

これは、Webページを開こうとしているクラスにあるものです。

public class Codes extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.codes);

    View titleView = getWindow().findViewById(android.R.id.title);
    if (titleView != null) {
      ViewParent parent = titleView.getParent();
      if (parent != null && (parent instanceof View)) {
        View parentView = (View)parent;
        parentView.setBackgroundColor(Color.rgb(228, 108, 10));
      }
    }

    WebView codes = (WebView)findViewById(R.id.codesWebView);
    codes.getSettings().setJavaScriptEnabled(true);
    codes.loadUrl("http://dev10.affirmaconsulting.com:24009/keyentry");
    shouldOverrideUrlLoading(codes, "http://dev10.affirmaconsulting.com:24009/keyentry");

    }
}
4

2 に答える 2

6

私はこれと同じ問題を抱えていました.ページは私のWebビューではなく、ブラウザアプリケーションを介してロードされていました. WebViewClient クラスを実装し、shouldOverrideUrlLoading メソッドをオーバーライドすることで問題を解決しました。

    WebViewClient webClient = new WebViewClient()
    {
        @Override
        public boolean shouldOverrideUrlLoading(WebView  view, String  url)
        {
            return false;
        }
    };
    webView.setWebViewClient(webClient);

次のリンクが役立つことが証明されました: http://www.firstdroid.com/2010/08/05/override-url-loading-in-webview-android-tutorial/

于 2011-09-27T16:46:02.873 に答える
2

私たちは活動の 1 つでこれとまったく同じタスクを実行しており、この問題に遭遇していません。これが私たちの外観です:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.document_viewer_activity);

    WebView wv = (WebView) findViewById(R.id.documentViewerWebview);
    wv.getSettings().setJavaScriptEnabled(true);

    String url = getString(R.string.document_viewer_url) + 
            getIntent().getExtras().getString("media");
    wv.loadUrl(url);

}

レイアウト ファイルで定義された webview は次のようになります。

  <WebView
        android:id="@+id/documentViewerWebview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
 />

お役に立てれば。

于 2011-03-10T18:24:02.093 に答える