나는 X 초마다 새로운 이벤트가 폴링되는 대화방 애플리케이션을 구축 중입니다. 발생 때마다,이 코드는 아래에 새로운 데이터 스크롤을 가진 RoomAdapter (ArrayAdapter와의 사용자 지정 하위 클래스)를 업데이트 :ListView (또는 ScrollView) 내의 스크롤 위치 감지
RoomAdapter adapter = (RoomAdapter) getListAdapter();
for (int i=0; i<newEvents.size(); i++)
adapter.add(newEvents.get(i));
getListView().setSelection(events.size()-1);
이 괜찮 것을 제외 사용자에 눈까지 스크롤되는 경우 방의 역사는 설문 조사가 일어 났을 때 그녀를 가장 아래쪽으로 뛰어 넘을 것입니다. 내가하고 싶은 것은 사용자가 이미 목록의 맨 아래에 있다면 새로운 이벤트에 대한 설문 조사 후에 그대로 머물러 있도록하는 것입니다. 사용자가 의도적으로 위쪽으로 스크롤하면 사용자가 방해받지 않기를 바랍니다.
이미 ListView의 맨 아래로 스크롤 한 것을 어떻게 감지합니까?
참고 : 터치 모드에서 setSelection을 호출하면 실제로 항목을 선택하지 않고 as the docs note을 호출하기 때문에 getListView(). getSelectedItemPosition()을 수행 할 수 없습니다.
붐! 그거였다. 나는 그 방법을 놓쳤다. 고맙습니다! – Konklone