如何解决如何使用webview而不是外部手机浏览器在textview上创建自动链接打开网站链接
我有一个包含一些文本描述的活动和另一个包含 webview 的活动,webview 活动运行良好,文本活动运行良好。在我的 XML 中,我添加了 auto-link all 以使 textview 能够检测所有链接(电话号码、电子邮件、网络链接)。自动链接工作正常并正常打开默认链接类型(电话号码打开联系人,电子邮件打开邮件应用程序,网络链接打开外部浏览器)。 我需要的是让文本检测到网络链接,然后覆盖它以打开指向我的 webview 活动的网络链接,而不是外部手机浏览器。
Webview 活动
if(savedInstanceState != null){
webView.restoreState(savedInstanceState);
} else {
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setLoadWithOverviewmode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webView.setBackgroundColor(Color.WHITE);
webView.setWebViewClient(new ourViewClient());
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view,int progress){
progressBar.setProgress(progress);
if(progress < 100 && progressBar.getVisibility() == progressBar.GONE){
progressBar.setVisibility(progressBar.VISIBLE);
}
if(progress == 100){
progressBar.setVisibility(progressBar.GONE);
}
}
});
}
webView.loadUrl(url);
}
public class ourViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view,String url){
view.loadUrl(url);
CookieManager.getInstance().setAcceptCookie(true);
return true;
}
@Override
public void onPageFinished(WebView view,String url){
super.onPageFinished(view,url);
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
webView.saveState(outState);
}
文本 XML
<RelativeLayout
android:layout_marginBottom="35dp"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:autoLink="all"
android:textColor="@color/blue"
android:padding="10dp"
android:textSize="16sp"
android:fontFamily="serif"
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:layout_marginEnd="5dp"
android:layout_marginStart="5dp" />
</RelativeLayout>
Textview 文本
desc.setText("Click Here To visit our Page >>> https://www.example.com");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。