現在、次のメソッドを使用して文字列から URL を取得し、TextView に挿入しています。正常に動作しますが、このアプローチで問題が発生することはありますか?
public String StringURL(String args) {
String s = args;
String [] parts = s.split("\\s");
String withURL = "";
for( String item : parts ){
if (Patterns.WEB_URL.matcher(item).matches()) {
if (!item.startsWith("http://") && !item.startsWith("https://")){
item = "http://" + item;
}
withURL += "<a href=\"" + item + "\">"+ item + "</a> ";
}
else {
withURL += item + " ";
}
}
return withURL;
}
TextView では、返された文字列を次のように設定します。
TextView.setText(Html.fromHtml(StringURL(P)));
TextView.setMovementMethod(LinkMovementMethod.getInstance());
Patterns.WEB_URL が SdkVersion 8 で導入されたため、このメソッドは SdkVersions 8 以降でのみ機能します。