Я создал свой собственный пользовательский ListView следующим образом:
public class CustomListView extends ListView {
public CustomListView (Context context) {
super(context);
}
public CustomListView (Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomListView (Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onSizeChanged(int xNew, int yNew, int xOld, int yOld) {
super.onSizeChanged(xNew, yNew, xOld, yOld);
setSelection(getCount());
}
}
Вы должны включить все 3 конструктора, иначе будет выдано исключение.
Затем в XML, куда вы обычно помещаете
ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
Изменить ListView на com.blah.blah.CustomListView .
Извинитеиз-за грязного макета по какой-то причине я не могу заставить работать форматировщик.
Запустите ваше приложение.Теперь, когда вы нажимаете на EditText, он показывает последний элемент ПОСЛЕ экранной клавиатуры!Обратите внимание, что существуют некоторые ограничения, например, когда функция автозаполнения появляется при вводе текста в EditText, он также отображает последний элемент из-за изменения размера ListView.
Наслаждайтесь!