WebView как строки ListView не прокручивается должным образом

1

Я пытаюсь создать ListView который должен действовать как то, что делает приложение для обмена сообщениями или GTalk. Это показывает разговор между двумя людьми. WebView отвечает за отображение HTML-текста беседы, ВКЛЮЧАЯ несколько анимаций gif (смайлики, которые TextView не может отображать). Очевидно, что когда приходит новое сообщение, список должен прокручиваться до конца (я используя listview.setSelection(...) для этого)
Теперь, если высота WebView больше, чем обычно, ListView перепутает и прокручивает элемент, расположенный ближе к концу списка, а не последний элемент. Как я уже сказал, я думаю, что в списке есть проблема расчета высоты его детей. (У вас уже отключен smoothScroll в ListView как упоминается в документации.

файл макета, используемый в виде строк в ListView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" android:background="#f7f7f7">

    <ImageView
        android:id="@+id/imgFriendAvatarChat"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="5dp"
        />

    <WebView
        android:id="@+id/friendMessageWebView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginRight="5dp"
        />

</LinearLayout>

У меня нет никакого полезного ответа для этого или этого, и я прибегаю к одному последнему решению, которое приходит на ум, которое является неприятным на деле, а затем я целую Android до свидания! (Как вы можете догадаться, мне уже надоело Android, препятствуя каждому аспекту развития.)

Решение там использует WebView как строки ListView чтобы показать, что я хочу. Проблема в том, что если содержимое WebView скажет, 3 строки, то ListView сходит с ума и не прокручивается до нижней части списка должным образом. Я предполагаю, что он не может вычислить высоту каждой дочерней строки и ошибочно переходит к середине списка, а не к нижней части.

Я уже читал слишком много подобных вопросов, как это, и я не получил хороший ответ...

  • 0
    Больше связано с вашими предыдущими вопросами; но я полагаю, вы не получили анимацию, работающую / желаемые результаты с AnimationDrawable? developer.android.com/reference/android/graphics/drawable/...
  • 0
    @Jave Джейв, я уже пытался подделать это! Проблема в том, как я могу вставить это с текстом?
Показать ещё 3 комментария
Теги:
scroll
textview
webview

1 ответ

0

Проблема в том, что webview не имеет размера, когда он создан и измерен, высота действительна только после того, как веб-просмотр ловит загрузку и рендеринг содержимого, которое обычно слишком поздно для списка, чтобы вычислить размер. Вы считали, что нужно установить высоту в макет. Как насчет того, чтобы не использовать список, а не один большой веб-просмотр?

  • 0
    У меня были сомнения по этому поводу. Дело в том, что я не могу использовать фиксированную высоту для WebView, так как собираюсь показать содержимое сообщения, а длина сообщения заранее неизвестна, и я не хочу, чтобы в WebView появлялись полосы прокрутки! Как и я в другом вопросе, у WebView есть свои проблемы (неправильная прокрутка вниз страницы)
  • 0
    @ M2X вы нашли какое-либо решение в отношении этой проблемы? я сталкиваюсь с той же проблемой
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню