Nano Hash - криптовалюты, майнинг, программирование

Интерфейс Android Listview для чата не прокручивается

Я пытаюсь создать приложение для чата, и хотя мой список действительно добавляет сообщения по мере их поступления, я не могу получить доступ к сообщениям, которые старше или скрыты с экрана. Просмотр списка не хочет прокручиваться и просто отображает количество сообщений, которые умещаются на экране, которые являются самыми последними. Это все еще не работает. Кое-что отметить у меня есть расширяющаяся панель инструментов, и этот макет находится на фрагменте

Изменить: чтобы решить эту проблему со списком, который не прокручивается, добавьте

android:nestedScrollingEnabled="true"

в список, который не прокручивается. Код:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/main"
android:weightSum="1"
android:background="@drawable/bg_messages">


<ListView
    android:id="@+id/list_view_messages"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:divider="@null"
    android:stackFromBottom="true"
    />


<LinearLayout
    android:id="@+id/llMsgCompose"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:orientation="horizontal"

    android:weightSum="3"
    android:layout_gravity="center|bottom"
    >

    <EditText
        android:id="@+id/inputMsg"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="2"
        android:paddingLeft="6dp"
        android:paddingRight="6dp" />

    <Button
        android:id="@+id/btnSend"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textColor="@color/white"
        android:text="Send" />
</LinearLayout>

28.01.2016

  • по умолчанию нам не нужна прокрутка для просмотра списка. 28.01.2016
  • Проверьте это: stackoverflow.com/questions/2537027/ 28.01.2016
  • код правильный, проверял, с этим кодом проблем нет. 28.01.2016
  • Да, у меня был android: transcriptMode = alwaysScroll, но он не позволял мне видеть сообщения, которые выводились с экрана. 29.01.2016

Ответы:


1

Я мог бы подумать, что здесь проблема с весом. Я предлагаю попробовать использовать RelativeLayout в качестве родительского макета. Просто попробуйте заменить свой Xml этим кодом ниже.

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/main"
android:background="@drawable/bg_messages">


<ListView
android:layout_above="@+id/llMsgCompose"
android:id="@+id/list_view_messages"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@null"
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"
/>


<LinearLayout
android:id="@+id/llMsgCompose"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal"
android:layout_gravity="center|bottom"
android:layout_alignParentBottom="true"
android:weightSum="3"   
>

<EditText
    android:id="@+id/inputMsg"
    android:layout_width="0dp"
    android:layout_height="fill_parent"
    android:layout_weight="2"
    android:paddingLeft="6dp"
    android:paddingRight="6dp" />

<Button
    android:id="@+id/btnSend"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:textColor="@color/white"
    android:text="Send" />
 </LinearLayout>

Спасибо, возможно, это вам поможет.

28.01.2016
  • Это все еще не работает. На заметку: у меня есть расширяющаяся панель инструментов, и этот макет находится на фрагменте. 29.01.2016
  • вы добавляете какой-либо пользовательский вид в Java? 29.01.2016
  • Нет, все макеты сделаны с помощью xml 29.01.2016
  • я думаю, что xml - это не проблема, это нормально, может быть, что-то не так с java 29.01.2016
  • Я исправил это, разрешив вложенную прокрутку в моем списке чатов, но спасибо всем, кто пытался помочь мне решить проблему. 29.01.2016
  • @AbdulMirza Отлично, по крайней мере, вы вернулись и поделитесь ответом. За обновление ответа один голос за вас 01.02.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..