Android 文本视图 URL

Android TextView URL

在android中,可以点击带有URL的TextView来打开网页中的URL,方法是:

android:autoLink="web"

我想做的是捕获此点击,如果此 TextView 包含 URL,那么我想显示一个对话框。我该怎么做?谢谢!

简单地说,通过实现 setOnCclikListener,检查您的 TextView 字符串是否 URL 显示对话框。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class URLValidator {

    private Pattern pattern;
    private Matcher matcher;

    private static final String URL_PATTERN = 
        "/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/";

    public URLValidator() {
        pattern = Pattern.compile(URL_PATTERN);
    }

    //Validate your input string 
    public boolean validate(final String url) {
        matcher = pattern.matcher(url);
        return matcher.matches();
    }
}

检查您从 TextView 获取的文本

URLValidator validator = new URLValidator();
if(validator.valiadte("yourString")) {
    //Show your dialog
}

检查您的文字是否 url。

try {
    new URI(YourText);
    // show your dialog here
} catch (URISyntaxException e) {
    // Certainly not an URL
}