2017-10-10 1 views
2

내 프로젝트에는 뉴스 목록을로드하는 활동이 있습니다. 목록이로드 될 때,이 작업은 목록의 첫 번째 항목의 정보로 채워집니다 : enter image description here"정보 스 와이프"활동을하는 방법?

하지만이 서버에서 모든 뉴스를로드하기 때문에, 내가 교환 할 수 있도록 사용자가 원하는

그의 손가락으로 소식. 예를 들어 뉴스 [0]부터 시작하여 사용자가 스 와이프하면 뉴스 [1]로 콘텐츠가 변경됩니다. 사용자가 다시 왼쪽으로 스 와이프하고 내용이 뉴스 [2]로 변경되는 등 ... 사용자가 오른쪽으로 스 와이프하면 이전 뉴스 (news [1])로 돌아갑니다.

enter image description here

은 무엇이 문제에 대한 가장 좋은 aproach 것 : 헤더는 슬쩍 운동 만 메인 프레임 (이미지와 몸을 변경해야합니다)을하지 말았어야? ViewPager에서 TabLayout을 사용하려고 생각하고 있었지만 이것이 올바른 방법인지 확실하지 않습니다. 100 뉴스 같은 것이 있으면 ViewPager에서 100 조각을로드하는 것이 과잉 일 수 있습니다.

안드로이드가 더 좋은 방법이 있습니까? 어떻게해야합니까?

+3

아니요, 100 조각이 완전히 좋습니다. 'ViewPager'는 항상 최소한 3 페이지를로드합니다. 더 많은 페이지도 구성 할 수 있습니다. 또한 페이지 매김을 구현하여 특정 뉴스 수 (예 : 20, 다음 20)를로드 할 수 있습니다. –

+0

또 다른 옵션으로 HorizontalLayoutManager가있는 RecyclerView를 사용할 수 있습니다 (https://stackoverflow.com/a/28460399/4232337). ViewPager에서 제공하는 "스냅"동작을 사용하려는 경우에는 물론 흥미롭지 않을 것입니다. – NSimon

답변

3

ViewPager을 사용할 수 있습니다. ViewPagersetOffscreenPageLimit(pageLimit)을 사용하여 설정 한만큼만로드하므로 내부에 100 개의 조각이있는 것이 좋습니다. 예를 들어 pageLimit = 3으로 설정하면 ViewPager은 현재 보이는 조각의 오른쪽/왼쪽에있는 3 개의 (최대 6 개의) 인접 조각 만 초기화합니다. 조각을 통과하는 동안 조각은이 한계를 벗어난 조각을 죽이고 새로운 조각을로드합니다. 그래서 과잉은 없을 것입니다.

관련 문제