的WebView在浏览器中的应用程序之外的片段android的开口内 [英] webview inside fragment android opening outside of the app in a browser

查看:108
本文介绍了的WebView在浏览器中的应用程序之外的片段android的开口内的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的应用程序中的web视图,并打开它外面,而我希望它打开里面......我读过关于计算器所有的例子,仍然不知道为什么是这样的

NewsFragment.java

 进口android.os.Bundle;
进口android.support.v4.app.Fragment;
进口android.view.LayoutInflater;
进口android.view.View;
进口android.view.ViewGroup;
进口android.webkit.WebView;

公共类NewsFragment扩展片段{

    @覆盖
    公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,
                             捆绑savedInstanceState){

        查看rootView = inflater.inflate(R.layout.news,集装箱,假);

        的WebView web视图=(web视图)rootView.findViewById(R.id.webView);

        webView.setInitialScale(1);
        webView.getSettings()setJavaScriptEnabled(真)。
        。webView.getSettings()setLoadWithOverviewMode(真正的);
        。webView.getSettings()setUseWideViewPort(真正的);
        webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        webView.setScrollbarFadingEnabled(假);

        webView.loadUrl(https://www.google.com);

        返回rootView;
    }
}
 

XML文件:

 < XML版本=1.0编码=UTF-8&GT?;
< LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:layout_width =match_parent
    机器人:layout_height =match_parent
    机器人:方向=垂直>

    <的WebView
        机器人:ID =@ + ID / web视图
        机器人:layout_width =match_parent
        机器人:layout_height =match_parent/>

< / LinearLayout中>
 

解决方案

试试这个code,你必须覆盖shouldOverrideUrlLoading()

 字符串URL =htt​​p://appprice.appday.de;

的WebView WV =新的WebView(上下文);
// 要么
//的WebView WV =(web视图)findViewById(R.id.my_webview);

wv.loadUrl(URL);
wv.setWebViewClient(新WebViewClient(){
    @覆盖
    公共布尔shouldOverrideUrlLoading(web视图查看,字符串URL){
        view.loadUrl(URL);
        返回true;
    }
});
 

I got a webview in my app and it opens outside of it, while I want it to open inside... I've read all examples on stackoverflow and still don't know why it's like this

NewsFragment.java

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;

public class NewsFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.news, container, false);

        WebView webView = (WebView)rootView.findViewById(R.id.webView);

        webView.setInitialScale(1);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setLoadWithOverviewMode(true);
        webView.getSettings().setUseWideViewPort(true);
        webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        webView.setScrollbarFadingEnabled(false);

        webView.loadUrl("https://www.google.com");

        return rootView;
    }
}

XML file:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

解决方案

Try this code, you have to override the "shouldOverrideUrlLoading()"

String url = "http://appprice.appday.de";

WebView wv = new WebView(context); 
// or 
// WebView wv = (WebView)findViewById(R.id.my_webview);

wv.loadUrl(url);
wv.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
});

这篇关于的WebView在浏览器中的应用程序之外的片段android的开口内的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆