我的聊天页面有列表视图....每当我在列表视图中输入新消息时,它都不会在 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);
}
});
}