更新新项目时如何自动向下滚动列表视图控件 - 安卓工作室



我的聊天页面有列表视图....每当我在列表视图中输入新消息时,它都不会在 Botton 自动向下滚动。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15sp"
    android:background="@drawable/chat_page"
    tools:context=".Chatbox">

    <Button
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:clickable="true"
        android:id="@+id/sendbutton"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:background="@drawable/send"
         />
    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/sendbutton"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true">
        <EditText
            android:id="@+id/typemessage"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:hint="Type a message..." />
    </android.support.design.widget.TextInputLayout>

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_above="@id/sendbutton"
        android:dividerHeight="5dp"
        android:padding="10dp"
        android:divider="@android:color/transparent"
        android:id="@+id/listmessages"
        android:layout_marginBottom="16dp"/>

</RelativeLayout>

当我在列表视图中添加新文本时,它应该转到页面底部以查看新消息

你可以试试这个。但我建议您使用回收器视图而不是聊天模块的列表视图。

private void scrollToBottom() {
listView.post(new Runnable() {
    @Override
    public void run() {
        listView.setSelection(adapter.getCount() - 1);
    }
 });
}

相关内容

  • 没有找到相关文章

最新更新