的WebView在浏览器中的应用程序之外的片段android的开口内 [英] webview inside fragment android opening outside of the app in a browser
本文介绍了的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:机器人=http://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 =http://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屋!
查看全文