ListView не прокручивается до конца, когда клавиатура использует

Мой ListView должен автоматически прокручиваться до конца, когда новое сообщение получено или отправлено. Но когда я использую клавиатуру Android для отправки сообщения из EditText ниже ListView, изменяется размер списка ListView, и новое сообщение, которое я хочу отправить, появляется вне экрана, и мне нужно прокрутить вниз, чтобы увидеть его, даже если клавиатура исчезнет, ​​а ListView снова изменится.

Чтобы прокрутить ListView, я использую:

  ListView.postDelayed (новый Runnable () { 
@Override Public void run () { listView.setSelection (listView.getCount ()); } }, 100);

Но в моем случае не работает правильно.

Кто-нибудь знает, почему это может произойти? Есть ли способ, который ВСЕГДА прокручивает ListView до конца?

Спасибо, ваша помощь очень ценится!

Solutions Collecting From Web of "ListView не прокручивается до конца, когда клавиатура использует"

Вы можете попробовать добавить эту строку кода после того, как вы установите выделение в свой список:

listView.smoothScrollToPosition(listView.getCount()); 

Получающий код должен выглядеть так:

 listView.postDelayed(new Runnable() { @Override public void run() { listView.setSelection(listView.getCount()); listView.smoothScrollToPosition(listView.getCount()); } }, 100); 

Попробуйте этот код вашего кода:

 listView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL); 

(Или установить его по XML-макету).

Установите android: windowSoftInputMode в манифесте для действия для adjustPan|adjustResize .