我想在片段内加载网页,但是有一些问题。
1.没有overriding
shouldOverrideUrlLoading
方法,该网站使用默认浏览器Chrome打开。
2.当覆盖shouldOverrideUrlLoading
时,没有任何反应。只创建了新的空白活动。
这是onCreateView
类
Fragment
方法
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View resultView = inflater.inflate(R.layout.container, container, false);
if (getArguments() != null) {
String url = getArguments().getString(KEY_URL);
WebView productDetailView = (WebView)resultView.findViewById(R.id.webView);
productDetailView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return super.shouldOverrideUrlLoading(view, url);
}
});
productDetailView.loadUrl(url);
}
return resultView;
}
targetSdkVersion
为19
并添加了INTERNET
权限,Fragment的XML文件如下所示。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ProductDetailFragment">
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/webView"
android:layout_gravity="center" />
</FrameLayout>
问题是什么?
答案 0 :(得分:1)
试试此代码
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.loadUrl(url);
并使用FLAG_ACTIVITY_NEW_TASK
开始您的活动答案 1 :(得分:0)
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
Intent intent = getIntent();
webView.setSaveEnabled(false);
String receivedName = (String) intent.getSerializableExtra("USERNAME");
Log.d("receivedName ----- ", receivedName);
webView.loadUrl("https://docs.google.com/gview?embedded=true&url=" +
receivedName);
webView.setDownloadListener(new DownloadListener() {
public void onDownloadStart(String url, String userAgent,
String contentDisposition, String mimetype,
long contentLength) {
Webview.this.finish();
}
});
试试这段代码......
答案 2 :(得分:0)
试试这个。
final ProgressDialog pd = ProgressDialog.show(ActivityA.this, "", "Loading...", true);
wv = (WebView) findViewById(R.id.webview);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl("<url");
wv.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon)
{
pd.show();
}
@Override
public void onPageFinished(WebView view, String url) {
pd.dismiss();
}
});
答案 3 :(得分:0)
您是否尝试过添加此<uses-permission android:name="android.permission.INTERNET" />
进入清单文件?
https://developer.android.com/reference/android/webkit/WebView.html