2016-06-16 17 views
0

お客様が設定したテキストを含むことができるTextViewTextView)のカスタムがあります。私は、ユーザーが電話番号、アドレス、電子メールをクリックすることができる機能を追加する必要があり、アプリは適切なアプリ(ダイヤラー、マップ、電子メール)を起動することができます。私の現在の実装を見てください:電話番号、住所、メールアドレスをAndroidにリンクする

public class MyTextView extends TextView{   

    // constructors and styling of this view 

    public void setStyle(){ 
     setLinksClickable(true); 
     setMovementMethod(LinkMovementMethod.getInstance()); 
     Linkify.addLinks(this, Linkify.ALL); 
     //setAutoLinkMask(Linkify.ALL); 
    } 

} 
  1. 私の実装では何が悪いのでしょうか?電話番号、住所、電子メールを含むテキストをクリックすることはできません。
  2. この機能を使用するには、電話番号、住所、電子メールの形式をテキストビューに入力する必要がありますか?

何か助けや助言をいただきました!

ありがとうございました。

答えて

0

Linky.addLinks(this, Linkify.ALL)は、コンストラクタではなくテキストが設定された後に呼び出す必要があります。

+0

ご回答ありがとうございます。ただし、テキストの設定後に上記の行が追加されました。上記の私の編集を確認してください。 – void

0

私はそれを働かせました。 xmlのTextView要素にandroid:autoLink="all"を追加しました。電話番号のフォーマットがTextViewで間違っていました。 Linkify:12345678912、+12345678912、1-234-567-8912、+ 1-234-567-8912、(1234)567-8912、+(1234)567-8912でサポートされている電話番号形式の一部です。

注:サポートされているフォーマットもあります。

ありがとうございました

関連する問題