나는 ListView
정의 행이. 이러한 행 중 하나를 클릭하면 ListView의 데이터가 다시 생성됩니다. 이 경우 목록을 맨 위로 스크롤하고 싶습니다.
나는 처음에
이것을 달성하기 위해 setSelection(0)
각 행에서 사용하려고 시도 OnClickListener
했지만 성공하지 못했습니다 ( ListView
데이터가 무효화되면 스크롤 위치가 손실 되기 때문에 setSelection에 대한 호출이 취소되었습니다. 여전히 ListView가 스크롤 위치를 결정하는 방법을 이해하지 못합니다. 그러나 무효화 후).
내가 아는 유일한 작업 솔루션은 Romain Guy가 제공 한 것입니다. http://groups.google.com/group/android-developers/browse_thread/thread/127ca57414035301
에 View.post
대한 호출 ( )을 포함 합니다 _listView.setSelection(0)
. 나는 이것이 성능이 좋지 않다는 것을 알았습니다. 새로 생성 된 목록은 스크롤 위치가 변경되지 않은 상태로 표시되며 맨 위로 스크롤되기까지 상당한 지연이 있습니다.
이 기능을 달성하는 더 좋은 방법이 있습니까?
어떤 도움이라도 대단히 감사하겠습니다.
감사!