石の上にも数年

yaplog! のサービス終了に伴い引っ越しました 🚚

Instagram や Twitter のようにテキスト内の「@xxx」や「#xxx」にリンクを貼る方法(Android)

やり方 ①
いい感じのライブラリがありました AutoLinkTextView

やり方 ②
SpannableString で検索すると色々と出ます。
リンクがタップされた場合の動作設定、リンクの下線を消したり
リンクの色を変更したりと、なんだかんだできます。

文字列の中から「@xxx」を抽出する方法

// @xxxを抽出したい文字列(String)
String text = "@xxx 晴れ女? @yyy とんだハッピー @zzz 野郎だな";
//「@+半角英数字とアンダーバー」までの部分を抜き出す。
Pattern ptn = Pattern.compile("@([a-zA-Z0-9_]+)");
Matcher mt = ptn.matcher(text);
while (mt.find()) {
// mt.group() に抽出された「@xxx」が入っています。
Log.d("文章内の該当した部分", "【" + mt.group() + "】");
// whileがループする度に2つ目、3つ目の「@yyy」「@zzz」が入ります。
}

これで AndroidSNS アプリを作ることができます!