2022-03-18
ビューで定義したメールアドレスや電場番号をリンク化して使いたい場面は
多々あると思います。自分の場合は電話番号のみだったので、以下の文だけで
作ることが出来ました。
二番目の引数にPatterns.PHONEを入れるのが肝で、これを忘れると
リンク化されません。
普通のsetTextではなく、setMovementMethodを使うことでリンク化した
文字を実装できるようになります。。
TextView tel_text = (TextView) activity.findViewById(R.id.tel); Linkify.addLinks(tel_text, Patterns.PHONE,"tel:",Linkify.sPhoneNumberMatchFilter,Linkify.sPhoneNumberTransformFilter); tel_text.setMovementMethod(LinkMovementMethod.getInstance());
↑の大元はこちら。https://stackoverflow.com/questions/40788608/androidautolink-for-phone-numbers-doesnt-always-work
また、一般的なリンク化の方法としては以下がポピュラーですが、
自分のアプリでは動きませんでした。
TextView text_tel = new TextView(this); //電話番号は適当です。 text_tel.setText("0xx-0xxx-0xxx"); Linkify.addLinks( text_tel, Linkify.PHONE_NUMBERS);
ちなみにこれのurlとメールアドレスのリンクは動くことが確認できました。
メールアドレスだけは一番上の方法で変換するのが無難ですね。