2011-09-16 125 views
0

此代碼正在處理另一個aspx表單,現在當我更改表單時,它可以在黑莓的webview中工作,但是現在android已經啓動了一個外部瀏覽器,甚至在應用程序啓動之前就知道了。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本身中。