I found a great solution. He's great for me. Maybe my answer will help someone.
class ScrollListener implements AbsListView.OnScrollListener{
boolean aligned;
@Override
public void onScrollStateChanged(AbsListView absListView, int state) {
if (state == AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {
aligned = false;
}
if (state == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
if (!aligned) {
if (Math.abs(absListView.getChildAt(0).getY()) < Math.abs(absListView.getChildAt(1).getY())) {
listView.smoothScrollToPosition(absListView.getFirstVisiblePosition());
} else {
listView.smoothScrollToPosition(absListView.getLastVisiblePosition());
}
}
aligned = true;
}
}
@Override
public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
}
}
, , , 4, ("getChildAt(0)" and "getChildAt(1)").
!