2011-09-05 16 views
38

aynı web görünümündeki açık olmalıBağlantı ben Android'de yeni ve bu kodu kullanarak Web görünümündeki bir bağlantı açmaya çalışıyorum Android

WebView myWebView = (WebView) findViewById(R.id.webinfo); 
    myWebView.loadUrl("http://oslobokfestival.netteam.no/artical.php?articalid=93"); 
    myWebView.setBackgroundResource(R.drawable.lbg); 
    myWebView.setBackgroundColor(Color.TRANSPARENT); 
    myWebView.getSettings().setJavaScriptEnabled(true); 

ve bu HTML sayfası bazı bağlantılar içerir ve ben bunu istiyorum Kullanıcı bu bağlantıyı tıkladığında aynı web görünümünde açılmalı, bu noktada cep telefonu açılışı açılsın, lütfen bana uygun çözümü ver .. Teşekkürler.

+0

kontrol edebilirsiniz [Konuyu] (http://stackoverflow.com/questions/6843029/android-webview-new-window-url) sen ne yapmak istediğini aynı olan. – Whiler

+0

URL'sini tıkladığınızda URL'yi alabilirsiniz >>>> –

cevap

105

WebView'da açmak için WebView'unuza WebViewClient kodunu eklemeniz gerekir.

myWebView.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 
     view.loadUrl(request.getUrl().toString()); 
     return false; 
    } 
}); 

+0

ok çalışıyor – Mahek

+5

Çalışmıyor –

+0

Bu çalışma, ancak yeni pencerede açılacak target = _blank olan bağlantılara izin vermenin bir yolu var mı? – mim

4

gibi bir şey kaldırmak @Overrideand deneyin loadURL benim için bu çalışma sonrasında ve onu bir ...

myWebView.loadUrl("http://someurl.com"); 
myWebView.setWebViewClient(new WebViewClient() { 
    public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) { 
     viewx.loadUrl(urlx); 
     return false; 
    } 
}); 
+0

@Overrideand sadece bir yöntemi geçersiz kılma anlatmak için bir ek açıklamadır, orada (ve sen) orada tutmak olabilir – Srneczek

+0

Benim için çalışır. – Markonionini

1

geçersiz kılma yöntemi shouldOverrideUrlLoading böyle WebViewClient ait:

myWebView.setWebViewClient(new WebViewClient(){ 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 
      view.loadUrl(request.toString()); 
      return true; 
     } 
    }); 

ve sade

shouldOverrideUrlLoading yöntem ve idare edecek

dönüşü super.shouldOverrideUrlLoading(view, request)

geçersiz kılarak Benim için çalışmalarını internet

2

erişmek için lütfen manifest dosyasında bu etiketi <uses-permission android:name="android.permission.INTERNET" /> eklemek tüm bağlantılar aynı WebView.

webview.setWebViewClient(new WebViewClient(){ 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 
     return super.shouldOverrideUrlLoading(view, request); 
     } 
}); 
İlgili konular