File tree 2 files changed +21
-2
lines changed
app/src/main/kotlin/org/ninetripods/mq/study
2 files changed +21
-2
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ import org.ninetripods.mq.study.kotlin.ktx.showToast
16
16
import org.ninetripods.mq.study.span.CenterImageSpan
17
17
import org.ninetripods.mq.study.span.CustomClickSpan
18
18
import org.ninetripods.mq.study.span.RelativeSizeColorSpan
19
+ import org.ninetripods.mq.study.span.SpanFactory
19
20
20
21
class SpanStudyActivity : BaseActivity () {
21
22
@@ -124,8 +125,12 @@ class SpanStudyActivity : BaseActivity() {
124
125
// processParagraph(spanBuilder)
125
126
126
127
tvSpan.movementMethod = LinkMovementMethod .getInstance()
127
- tvSpan.text = spanBuilder
128
- // tvSpan.setText(spanBuilder, TextView.BufferType.SPANNABLE)
128
+ tvSpan.setSpannableFactory(SpanFactory ())
129
+ /* *
130
+ * SpannedString -> Spanned接口
131
+ * SpannableString、SpannableStringBuilder -> Spannable接口
132
+ */
133
+ tvSpan.setText(spanBuilder, TextView .BufferType .SPANNABLE )
129
134
tvSpan.setOnClickListener {
130
135
// 避免ClickSpan与TextView本身同时相应点击事件
131
136
(it as ? TextView )?.let { tv ->
Original file line number Diff line number Diff line change
1
+ package org.ninetripods.mq.study.span
2
+
3
+ import android.text.Spannable
4
+
5
+ /* *
6
+ * 自定义Spannable.Factory
7
+ * Created by mq on 2023/7/10
8
+ */
9
+ class SpanFactory : Spannable .Factory () {
10
+
11
+ override fun newSpannable (source : CharSequence? ): Spannable {
12
+ return source as Spannable
13
+ }
14
+ }
You can’t perform that action at this time.
0 commit comments