상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - ViewPager의 scrollToPosition 메서드를 사용해보기.
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
`ViewPager`는 Android에서 여러 페이지를 좌우로 스와이프하여 볼 수 있는 UI 컴포넌트입니다. `ViewPager`를 사용하면 사용자가 여러 페이지를 쉽게 탐색할 수 있습니다. `ViewPager`에는 페이지를 특정 위치로 이동시키기 위한 다양한 메서드가 있지만, `scrollToPosition` 메서드는 직접적으로 제공되지 않습니다. 대신, `setCurrentItem` 메서드를 사용하여 특정 페이지로 스크롤할 수 있습니다. `ViewPager`의 `setCurrentItem` 메서드 사용 다음은 `ViewPager`에서 특정 페이지로 이동하는 방법입니다. 1. XML 레이아웃 파일 에 `ViewPager` 추가: ```xml <androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent"/> ``` 2. Activity 또는 Fragment 에서 `ViewPager` 설정하기: ```java import androidx.appcompat.app.AppCompatActivity; import androidx.viewpager.widget.ViewPager; import android.os.Bundle; public class MainActivity extends AppCompatActivity { private ViewPager viewPager; private MyPagerAdapter pagerAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager = findViewById(R.id.viewPager); pagerAdapter = new MyPagerAdapter(getSupportFragmentManager()); viewPager.setAdapter(pagerAdapter); } // 특정 페이지로 이동하는 메서드 public void goToPage(int position) { if (position >= 0 && position < pagerAdapter.getCount()) { viewPager.setCurrentItem(position, true); // 두 번째 인자는 부드러운 스크롤 여부 } } } ``` 3. 특정 페이지로 이동 : 위의 `goToPage` 메서드를 호출하여 특정 페이지로 이동할 수 있습니다. 예를 들어, `goToPage(2)`를 호출하면 `ViewPager`가 세 번째 페이지로 스크롤됩니다. `ViewPager`를 사용한 예시 1. 자동 페이지 전환 : 페이지를 자동으로 전환하는 경우에도 `setCurrentItem`을 사용할 수 있습니다. 예를 들어, 타이머를 사용해 일정 간격마다 페이지를 전환할 수 있습니다. ```java new Timer().schedule(new TimerTask() { @Override public void run() { runOnUiThread(() -> { int nextPage = viewPager.getCurrentItem() + 1; if (nextPage >= pagerAdapter.getCount()) { nextPage = 0; // 처음으로 돌아가기 } viewPager.setCurrentItem(nextPage, true); }); } }, 3000, 3000); // 3초마다 페이지를 변경 ``` 결론 `ViewPager`를 사용할 때 특정 페이지로 이동하려면 `scrollToPosition` 대신 `setCurrentItem` 메서드를 사용해야 합니다. 이 메서드를 통해 사용자가 쉽고 간편하게 페이지를 탐색할 수 있도록 도와주며, 애니메이션 효과를 추가하여 UX를 개선할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기