2011-09-16 11 views
0

このコードは別のaspxフォームで動作していましたが、フォームを変更した時点ではブラックベリーのwebviewで動作しますが、アンドロイドはアプリケーション内で起動する前に外部ブラウザを起動します。ウェブビューを画面外に読み込んでいますか?

webview = (WebView) findViewById(R.id.webView1); 
    webview.getSettings().setJavaScriptEnabled(true); 
    webview.setInitialScale (5); 
    webview.loadUrl(URL); 
    webview.requestFocus(View.FOCUS_DOWN); 

なぜ今ブラウザの外に読み込まれていますか?

答えて

1

shouldOverrideUrlLoading()を実装するだけで済みます。私の最近のプロジェクトからの抜粋:

public class WebViewCustom extends Activity { 

WebView mWebView; 
String mUrl; 
String urlHistory; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 


     setContentView(R.layout.lessons_page); 
     mWebView = (WebView) findViewById(R.id.webview); 
     mWebView.setWebViewClient(new WebViewOverrideUrl()); 
     mWebView.getSettings().setJavaScriptEnabled(true); 
     mWebView.getSettings().setPluginsEnabled(true); 
     mWebView.loadUrl("YOUR-URL-HERE"); 


    } 

     private class WebViewOverrideUrl extends WebViewClient { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       view.loadUrl(url); 
       return true; 
      } 
     } 

}

コーディングハッピー!

+0

ブリリアントは魅力的な作品です! –

0

おそらく、あなたのサーバーはリダイレクトを発行しています。 WebViewClientを実装し、shouldOverrideUrlLoading()を上書きする場合は、リダイレクトをWebViewに強制的に読み込むことができます。

関連する問題