链接应该在Android中的相同web视图中打开

链接应该在Android中的相同web视图中打开,android,Android,我是Android新手,我正试图用这段代码在webview中打开一个链接 WebView myWebView = (WebView) findViewById(R.id.webinfo); myWebView.loadUrl("http://oslobokfestival.netteam.no/artical.php?articalid=93"); myWebView.setBackgroundResource(R.drawable.lbg); myWebView.set

我是Android新手,我正试图用这段代码在webview中打开一个链接

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);
在这个HTML页面中包含一些链接,我希望当用户单击该链接时,该链接应该在相同的webview中打开, 在这一点上,它在手机浏览器的开放,请给我适当的解决方案。。 谢谢

您需要添加到WebView中才能在WebView中打开它。差不多

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

尝试删除@override并将其放在loadurl之后 这是我的工作

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

重写方法应重写如下的

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

并将此标记添加到您的清单文件中,以便通过简单地覆盖即可访问internet


应重写以下方法和

return
super.shouldOverrideUrlLoading(查看、请求)

它将处理相同
WebView
中的所有链接

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

你可以检查哪个与你想做的相同。当点击URL>>>>时,你可以得到URL。这是有效的,但是有没有办法允许在新窗口中打开应用了target=\u blank的链接?工作正常,但我想在外部webview
shouldOverrideUrlLoading(webview视图,字符串URL)上添加一个图标
已被弃用,我们可以使用
shouldOverrideUrlLoading(WebView视图,WebResourceRequest请求)
来代替。getUrl()需要API级别21,因此您无法在某些设备上运行应用程序。文档说您不应该调用
视图。loadUrl(…)
,而只需返回false:“注意:不要调用WebView#loadUrl(字符串)使用请求的URL,然后返回true。这会不必要地取消当前加载,并使用相同的URL启动新加载。继续加载给定URL的正确方法是只返回false,而不调用WebView#loadUrl(String)。“()@Overrideand只是一个注释,告诉您可以(而且应该)重写一个方法把它放在那个里,但要做一些解释,使答案更具针对性!
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView webView = (WebView) findViewById(R.id.webView);
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webView.loadUrl("#");
    }
}