У меня вопрос, почему сначала нужно использовать htmlEncode
Вам не нужно ничего делать.
Однако в этом примере любой HTML, введенный в EditText
, будет отображаться в результате как исходный код HTML с использованием htmlEncode()
. Если вы пропустите этот шаг, любой HTML, введенный в EditText
, будет частью HTML, преобразованного в Spannable. IOW, если вы наберете <b>foo</b>
в EditText
, с htmlEncode()
, вы увидите <b>foo</b>
в выводе; без htmlEncode()
вы видите foo .
Что на самом деле является Spanned объектом?
Это интерфейс Java. Цитирование документации :
Это интерфейс для текста, к которому привязаны объекты разметки.