2012-11-24 3 views
18

내 안드로이드 앱에서 webview를 가지고 있지만 누군가가 사이트를 탐색 할 때 새 창에서 열립니다. 웹뷰에 머물고 싶습니다. 쉽게이 작업을 수행 할 수있는 방법이 있습니다. ? 여기 내 활동 코드입니다 :android webview app에 머물러 있습니다.

super.onCreate(savedInstanceState); 
    setContentView(R.layout.shop); 
    WebView webview; 
    webview = (WebView) findViewById(R.id.webview); 
    webview.getSettings().setJavaScriptEnabled(true); 
    webview.loadUrl("http://www.google.co.uk"); 
+0

가능한 복제본 [Android에서 동일한 웹보기로 열려 있어야합니다] (http://stackoverflow.com/questions/7308904/link-should-be-open-in-same-web-view-in-android) – thkala

답변

39

당신은 만들어야는 WebViewClient :

webview.setWebViewClient(new myWebViewClient()); 
+0

완벽! 고맙습니다! –

+0

환영합니다 :) – Ahmad

+0

'shouldOverrideUrlLoading'은 Android N에서 더 이상 사용되지 않습니다. http://stackoverflow.com/questions/36484074/is-shouldoverrideurlding-really-deprecated-what-can-i-use-instead – GabrielOshiro

24

또는 :

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

그리고이 같은 WebView로 설정 새로운 수업을 만들지 않고 바로 할 수 있습니다.

myWebView.setWebViewClient(new WebViewClient()); 

그것은 나를 위해 작동합니다.

관련 문제