前提として以下のようにリンクの貼られたTextViewが作られていたとします。
java
1 2 SpannableString ssA = new SpannableString("あああ"); 3 ssA.setSpan(new ClickableSpan() { 4 @Override 5 public void onClick(View widget) { 6 Log.d("onClick", "あ"); 7 } 8 }, 1, 2, Spanned.SPAN_INCLUSIVE_INCLUSIVE); 9 SpannableString ssB = new SpannableString("いいい"); 10 ssB.setSpan(new ClickableSpan() { 11 @Override 12 public void onClick(View widget) { 13 Log.d("onClick", "い"); 14 } 15 }, 1, 2, Spanned.SPAN_INCLUSIVE_INCLUSIVE); 16 sb.append(ssA); 17 sb.append(" "); 18 sb.append(ssB); 19 20 textView.setText(sb); 21 22 textView.setMovementMethod(LinkMovementMethod.getInstance()); // クリック可能にする
このTextViewの「いいい」の部分をリンク機能はそのままで「ううう」と置換することは可能でしょうか?
まずgetText()からSpannableStringに復元できるのでしょうか?以下のようにするとClassCastExceptionが発生します。
java
1SpannableString sbNew = (SpannableString)textView.getText();
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/15 01:06