2014-10-20 2 views
2

ListView을 사용하여 동적 컨텐츠를 표시하고 있습니다. 선택한 옵션에 따라 ListView의 지정된 위치로 스크롤해야합니다. 이 기능은 목록 항목 높이가 그다지 크지 않으면 전체 화면을 덮을 때 유용합니다. 그러나 큰 높이의 항목이 목록에있는 경우 스크롤은 적절한 위치로 이동하지 않고 일부 위치 사이에 이동합니다. 나는 다음과 같은 결과를 사용했지만 둘 다 시도했다.리스트리스트가 큰 항목 일 때 ListView가 정확한 위치로 스크롤되지 않습니다.

listView.smoothScrollToPosition(myItems.indexOf(thisItem)); 
listView.setSelection(myItems().indexOf(thisItem)); 

누구든지 문제의 가능한 원인을 지적하고 몇 가지 제안 사항을 제시 할 수 있습니까?

+0

이상한 문제처럼 보입니다. 어쩌면 RecyclerView로 넘어갈 시간 : P – AmaJayJB

+0

@AmaJayJB이시기가 적절하지 않습니다. 다른 수제? – Ammar

+0

내가 생각할 수있는 것은, 당신이하고있는 일이 isnt 일 경우, smoothScrollByOffset을 사용하고 큰 항목의 높이를 오프셋으로 삽입하는 것입니다. 바라건대 올바른 공간으로 스크롤되기를 바랍니다. 작동하는지 알려주세요. – AmaJayJB

답변

1

OnScrollListener을 사용하는 대신에 smoothScrollToPositionsetSelection이라는 두 함수를 모두 호출한다는 것을 제외하고는 here이 해결되었습니다. 그것의 부드러운 스크롤 효과를 제공하지 않지만 그것은 내 요구 사항을 이행하고 있습니다. 어떤 몸이라도 더 적절한 해결책을 제시 할 수 있다면 환영합니다.

관련 문제