2012-02-15 188 views
0

我在web視圖中打開一個URL。我想阻止它在Web瀏覽器中打開。用戶可以點擊該網頁視圖中的任何內容。可以設置?怎麼樣 ?android WebView和網絡瀏覽器

public class AcDetails extends Activity { 
private String url; 

@Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.acdetails); 
    url = getIntent().getExtras().getString("AC"); 

    getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 
    WebView wv = (WebView) findViewById(R.id.webac); 
    wv.getSettings().setJavaScriptEnabled(true); 
    wv.loadUrl(url); 
    } 
} 

回答

0

無需寫一個新班級,只是在線:

WebView wv = (WebView) findViewById(R.id.webac); 
wv.setWebViewClient(new WebViewClient() { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       view.loadUrl(url); 
       return false; 
      } 

     }); 
wv.getSettings().setJavaScriptEnabled(true); 
wv.loadUrl(url); 
+0

讓我試試這個。 – user1143989 2012-02-15 22:13:14

+0

有點困惑。我應該從哪裏將「視圖」和「網址」傳遞給該方法。 Shold我定義了「WebView wv =(WebView)findViewById(R.id.webac);」和該方法內的網址? – user1143989 2012-02-15 22:20:45

+0

完美!!!!有效 !!謝謝 !! – user1143989 2012-02-15 22:29:12

0

http://developer.android.com/resources/tutorials/views/hello-webview.html

你必須寫一個新的類,它應該擴展Webviewclient類:

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

您的代碼更改爲:

@Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.acdetails); 
    url = getIntent().getExtras().getString("AC"); 

    getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 
    WebView wv = (WebView) findViewById(R.id.webac); 
    wv.getSettings().setJavaScriptEnabled(true); 
    wv.setWebViewClient(new HelloWebViewClient()); 
    wv.loadUrl(url); 
    } 
} 
+0

錯!沒有新課程需要,看到我的答案。 – 2012-02-15 22:05:22