2012-09-26 3 views
8

これは一例です。複数のスパニング可能なテキストを作成するにはどうすればよいですか?

String source = "This is example text"; 
Spannable out = new SpannedString(source); 
StyleSpan boldSpan = new StyleSpan(Typeface.BOLD); 
out.setSpan(boldSpan, 1, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
out.setSpan(boldSpan, 9, 12, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

//someTextView.setText(out); 


期待される結果:T こんにちは sが電子XAM PLEテキスト( "HI" & "XAM" は太字)である
実際の結果:       これは、電子XAM PLEですテキスト(最後のsetSpanメソッドのみを使用し、太字は「xam」のみ)


マルチスパニング可能なテキストの作成方法は?それが可能だ?
おそらく問題があります Spannable.SPAN_EXCLUSIVE_EXCLUSIVEフラグ?ありがとう。

答えて

20

あなたはそれぞれの新しいStyleSpanが必要だと思います。

String source = "This is example text"; 
Spannable out = new SpannedString(source); 
StyleSpan boldSpan = new StyleSpan(Typeface.BOLD); 
StyleSpan boldSpan2 = new StyleSpan(Typeface.BOLD); 
out.setSpan(boldSpan, 1, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
out.setSpan(boldSpan2, 9, 12, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

これを試してみませんか。

+0

ありがとうございました。それは作品です:) – user1523690

+0

問題はありません。それを聞いてうれしい。 :)あなたが私の解決に満足しているなら、答えを受け入れてください。 – MillyMonster

+0

私はまだこの問題に遭遇していない、私はちょうど幸せに質問を見ていた..しかし、これも私を困らせているだろう。 – WORMSS

0

なぜなら、大胆なスパニング可能なテキストはそれぞれStyleSpanで表されなければならないからです。あなたの理由は、値の再割り当てとまったく同じです。

関連する問題