当我点击WebView中的链接时,Android打开浏览器而不是在WebView中更改URL。
这是我的片段,其中WebView是(R.layout.webview仅包含WebView):
package com.example.fragments;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
public class EuDetailsFragment extends Fragment {
private WebView viewer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
viewer = (WebView) inflater.inflate(R.layout.webview, container, false);
return viewer;
}
public void updateUrl(String newUrl) {
Log.d("EuDetailsFragment", "Updating url...");
WebView detailsView = (WebView) getView().findViewById(R.id.detailsView);
detailsView.loadUrl(newUrl);
}
}
答案 0 :(得分:8)
默认行为是,当您单击链接时,它将要求ActivityManager找到适当的应用程序来处理链接。您可以覆盖此行为(这将强制当前WebView本身加载新的URL),如下所示:
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
return false;
}
});
答案 1 :(得分:2)
这就是你要找的东西吗?:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(intent);