Я стараюсь, чтобы Linkify
hashtags в TextView
.
Thats работает как пример кода, который я предоставил, но мне нужно подчеркнуть найденные хэштеги на основе match.group(1)
.
Ссылка, похоже, подчеркивает, основываясь на match.group(0)
. С TransformFilter
Я могу изменить только хешт-клик, а не предварительный просмотр ссылки подчеркивания.
В итоге, Linkify
создает подчеркивание на match.group(0)
, но я хочу, подчеркивает на match.group(1)
Связать хэштеги на основе match.group (1)
TextView tv_body = (TextView) view.findViewById(R.id.tv_body);
final Pattern pattern = Pattern.compile(
"(?:^|\\W)#([A-Za-z\\d\u00E7\u011F\u0131\u015F\u00F6\u00FC\u00C7\u011E\u0130\u015E\u00D6\u00DC]+)");
String scheme = "search://";
TransformFilter filter = new TransformFilter()
{
public final String transformUrl(final Matcher match, String url)
{
Log.d(Constants.TAG, "transformUrl - match.group(0):" +
match.group(0) + " - match.group(1):" + match.group(1));
return match.group(1);
}
};
Linkify.addLinks(tv_body, pattern, scheme, null, filter);
transformUrl - match.group (0): ## яр - match.group (1): дене
transformUrl - match.group (0): # hashreal - match.group (1): hashreal transformUrl - match.group (0): + # arti - match.group (1): arti
transformUrl - match.group (0): (# de - match.group (1): de
transformUrl - match.group (0): # feriştah - match.group (1): Feriştah
/*
tv_body text content:
nb#dnkjd
##dene
#hashreal
1#2
+#arti
%d(#de
#feriştah
şah#in
*/
Если реализации Linkify недостаточно, вы все равно можете использовать Spannable.setSpan с объектом spanSpace/ClickableSpan. – pskink