I am using localization in my app.
english : `<![CDATA[Makan <b>daging</b> adalah terlalu banyak karbohidrat]]>`
indonesia : `<![CDATA[Eating <b>meat</b> is too much carbohydrates]]>`
then in activity i write :
class MainActivity: AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
setupView()
}
private fun setupView() {
val htmlSpan = SpannableString(HtmlCompat.fromHtml(
getString(R.string.click_me_button),
HtmlCompat.FROM_HTML_MODE_COMPACT
))
val styleSpan = htmlSpan.getSpans(0, htmlSpan.length, StyleSpan::class.java).first()
val spanStart = htmlSpan.getSpanStart(styleSpan)
val spanEnd = htmlSpan.getSpanEnd(styleSpan)
val clickSpan = object:ClickableSpan() {
override fun onClick(widget: View) {
Toast.makeText(this@MenghubungkanProdukActivity, "Hehehehe", Toast.LENGTH_LONG).show()
Timber.d("HEHEHE")
}
}
htmlSpan.setSpan(clickSpan, spanStart, spanEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
binding.textWarning.text = htmlSpan
}
}
But clickSpan
doesn't triggered. what's wrong with it?