当收到或发送新邮件时,我的ListView应自动滚动到结束。 但是当我使用Android键盘从ListView下面的EditText发送消息时,ListView调整大小并且我要发送的新消息出现在屏幕外面,我必须向下滚动才能看到它,即使键盘消失并且ListView再次调整大小。 / p>
要滚动ListView我使用:
listView.postDelayed(new Runnable() {
@Override public void run() { listView.setSelection(listView.getCount()); } }, 100);
但在我的情况下无法正常工作。
有谁知道为什么会这样?有没有办法,总是滚动ListView结束?
谢谢,非常感谢您的帮助!
答案 0 :(得分:16)
尝试使用此代替代码:
listView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
(或通过XML布局设置)。
答案 1 :(得分:8)
您可以在将选择设置到列表后尝试添加以下代码:
listView.smoothScrollToPosition(listView.getCount());
结果代码应如下所示:
listView.postDelayed(new Runnable() {
@Override
public void run() {
listView.setSelection(listView.getCount());
listView.smoothScrollToPosition(listView.getCount());
}
}, 100);
答案 2 :(得分:1)
将活动清单中的android:windowSoftInputMode设置为adjustPan|adjustResize
。