2014年5月9日のブックマーク (2件)

  • [Android]TextViewの文字列にリンクを設定する

    前書きTextViewにはautoLinkと言うAttributeがあって、これをつけておけばURLを自動でリンクしてくれるんですが、内部で使っている正規表現がお粗末なのか、単純にテストパターンに含まれてないのか、日語URLも受け付けるつもりなのか、ともかく2バイト文字も平気で含めてしまう使いにくいやつです。 使いにくいので仕方ありません。作りましょう。 CharacterStyleとSpannableStringTextViewの文字列内に何らかの情報(文字色とか)を付与したい場合はCharacterStyleを使用します。こいつを継承しているサブクラスの名前をつらつらと眺めるだけでもどんなことが出来るのかなんとなくわかると思います。 オレオレCharacterStyleを作る場合はMetricAffectingSpanを継承してね、と書かれていますが、onClickを設定できるCli

    [Android]TextViewの文字列にリンクを設定する
    takeshich
    takeshich 2014/05/09
    autolinkがイケてない
  • TextViewのリンクに確認ダイアログをつけてみる。 - shiraji’s diary

    今回はTextView! 半日悩んで解決したのでメモです。 条件 TextViewに複数のURLが含まれる可能性がある。 そのテキストは自分以外のだれかが入力したもので、HTMLフォーマット化されていない。 そのURLに関して正しいかどうかを判断するロジックはGoodleさんに任せる。 それぞれのURLごとに正しいURLに飛ぶこと。 それぞれのURLをタップしたときに確認ダイアログをつける。 とりあえず簡単なやつから。 まずGoogleさんに判断させる部分だけど、 textView.setAutoLinkMask(Linkify.WEB_URLS);この一行でOK。あとはGoogleさんがよきに計らってくれる。 複数URLがあっても問題なし。HTMLフォーマットも必要なし。 (ただし、複数あるが、連続してしまうとさすがに判別不能。まぁそこは無視。スプリットでもなんでもすればいい。) 大半の

    TextViewのリンクに確認ダイアログをつけてみる。 - shiraji’s diary
    takeshich
    takeshich 2014/05/09
    いきなり飛ぶのは辞めたい。