2013-11-09 43 views
1

說我有一個URLSpan設置爲跨度像這樣一個SpannableStringAndroid,setSpan兩次?

SpannableString ss = new SpannableString(text); 
ss.setSpan(new URLSpan("com://my.app"), 3, 6, 
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

然後,我設置的另一個URLSpan爲span.But第二URLSpan不工作,第一個works.I不能使用ss.removeSpan(what);,因爲我不想刪除所有的URLSpans.How我能解決這個問題嗎?

+0

你使用相同的跨度對象兩次? – pskink

+0

@pskink不,我用另一個。 – hasanghaforian

+0

rhen發佈完整的代碼如何設置這些跨度 – pskink

回答

1

我在特定的範圍使用getSpans()(那我想重置它)來得到它的跨度,然後我用removeSpan將其刪除:

SpannableString ss = new SpannableString(text); 
ss.setSpan(new URLSpan("com://my.app"), 3, 6,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 
URLSpan[] toRemoveSpans = ss.getSpans(3, 6, URLSpan.class); 
ss.removeSpan(toRemoveSpans[0]); 
ss.setSpan(new MyURLSpan("com://my.app"), 3, 6,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);