2015-11-23 3 views
0

У меня есть адаптер, который нужно показать содержимое HTML, полученный от сервера, но я не могу использовать WebView для каждого элемента адаптера, поскольку производительность страшно ...Разбираем сложный HTML в Android TextView

Я думаю, что единственное возможное решение - разобрать каждый HTML в TextView.

Похоже, что в iOS библиотека DTCoreText достигает этого. Есть ли подобная библиотека в Android? Html.fromHtml() поддерживает только некоторые теги, и мне нужно показать элементы как списки, таблицы, встроенные изображения и видео, emojis ...

ответ

2

Половина того, что вы цитируете (таблицы, встроенные видео), не поддерживается TextView , независимо от того, как вы создаете Spannable, чтобы показывать в нем.

Следовательно, используйте WebView. Использование WebView в качестве «элемента адаптера» вряд ли будет работать хорошо; используйте один WebView для всего содержимого, которое вы хотите отобразить.

Или используйте реальные макеты Android для разных частей, вместо того, чтобы пытаться притвориться, что TextView является компонентом веб-рендеринга. Получение видео для работы может быть сложным.

+0

Мне нужно сохранить каждый контент html, так что я полагаю, что решение № 2 @CommonsWare - единственный способ пойти. Благодаря! – Carles

+1

@ Карл: Я не уверен, будет ли «VideoView» хорошо работать в «AdaptView» или «RecyclerView», поскольку «VideoView» основан на «SurfaceView», и это имеет проблемы с анимацией. Возможно, вам придется использовать «TextureView» и «MediaPlayer», предполагая, что вы хотите, чтобы видео действительно были встроены в макет адаптера. Лично я думаю, что это приведет к небольшим небольшим видео, поэтому я бы порекомендовал, возможно, показ миниатюры в «ImageView» и запуск в отдельный полноэкранный видеопроигрыватель для фактического воспроизведения, но это только я. – CommonsWare