トップページ > プログラム > 2015年04月20日 > UF4ewtDH

書き込み順位&時間帯一覧

3 位/162 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000030100004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Androidプログラミング質問スレ revision48 [転載禁止]©2ch.net

書き込みレス一覧

Androidプログラミング質問スレ revision48 [転載禁止]©2ch.net
101 :デフォルトの名無しさん[sage]:2015/04/20(月) 17:20:54.71 ID:UF4ewtDH
ClickableSpanについて質問です

検索すると「httpリンク」など一種類のマッチパターンを利用して設定してる例は沢山あるのですが
「httpリンク」「固有名詞」「番号指定」など複数のパターンを検出して
それぞれ違った動作を行いたい場合は、どのように実装すればよいのでしょうか?

以下に変更前のソースをコピーします

よろしくお願いします
Androidプログラミング質問スレ revision48 [転載禁止]©2ch.net
102 :デフォルトの名無しさん[sage]:2015/04/20(月) 17:21:56.53 ID:UF4ewtDH
Pattern LINK_PATTERN = Pattern.compile( "(http....)", Pattern.MULTILINE );
Pattern NO_PATTERN = Pattern.compile( "(NO...)", Pattern.MULTILINE );
Pattern CATEGORY_PATTERN = Pattern.compile( "(.....)", Pattern.MULTILINE );

Strgin strRawText =
"右のリンクの"+ "http://" + "\n" +
"資料" + "NO.1234" + "について\n" +
"カテゴリー" + "HOGEです";

// ハイパーリンクだけ
SpannableString spannable = new SpannableString( strRawText );
Matcher matcher = LINK_PATTERN.matcher( strRawText );
while( matcher.find() )
{
LinkClickableSpan span = new LinkClickableSpan( matcher.group() );
spannable.setSpan( span, matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE );
}
textview.setText( spannable );
textview.setMovementMethod( LinkMovementMethod.getInstance() );
Androidプログラミング質問スレ revision48 [転載禁止]©2ch.net
103 :デフォルトの名無しさん[sage]:2015/04/20(月) 17:29:50.97 ID:UF4ewtDH
今考えているのは、(マッチパターンA)|(B)|(C)など、全パターンを拾ってこさせて
単一のカスタムClickableSpanクラス側で
再度パターンごとにfindして、どのケースで設定されて来たか検証する方法です
Androidプログラミング質問スレ revision48 [転載禁止]©2ch.net
105 :デフォルトの名無しさん[sage]:2015/04/20(月) 19:13:25.60 ID:UF4ewtDH
正規表現の中身は省略しています
https?://[\w/:%#\$&\?\(\)~\.=\+\-]+


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。