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
}
在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
}