상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
표고버섯이 신체에 미치는 영향 6가지
"남자다이어트한약: 10가지 효과로 꾸준한 다이어트 성공하기!"
"남자다이어트한약: 10가지 방법으로 이상적인 몸매 만들기!"
석류를 통해 얻는 프리미엄 비타민 C의 힘 6가지
양상추의 신비로운 매력! 당신이 알아야 할 이유 9가지
마늘 오일의 효능과 사용법은?
음성데이터의 보안 문제를 해결하기 위한 방안은 무엇인가요?
음성데이터의 실시간 처리 기술의 원리는 무엇인가요?
영어회화초보가 삼촌이나 이모와 대화할 때 사용할 수 있는 표현은?
진통제 복용 시 어떤 건강 상태에 주의해야 하나요?
왜 구조방정식이 중요할까? 5가지 현실적인 이유
구조방정식이 데이터 연구에 미치는 긍정적 영향, 4가지 사례
Previous
Next
수정하기 - ViewPager의 onPageChangeListener는 어떻게 사용하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
`ViewPager`의 `onPageChangeListener`는 사용자가 페이지를 스와이프하거나 프로그램matically 페이지를 변경할 때 발생하는 페이지 변화 이벤트를 감지하는 데 사용됩니다. 이를 통해 페이지가 변경될 때마다 특정 동작을 수행할 수 있습니다. 다음은 `ViewPager`에 `OnPageChangeListener`를 설정하고 사용하는 방법에 대한 예시입니다: 1. 레이아웃 파일에 ViewPager 추가 먼저, XML 레이아웃 파일에 `ViewPager`를 추가합니다. ```xml <androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 2. <a href='https://sangseek.com/sangseeks/어댑터/ko'>어댑터</a> 생성 `ViewPager`와 함께 사용할 어댑터를 생성합니다. 예를 들어, 간단한 PagerAdapter를 아래와 같이 만들 수 있습니다. ```java public class MyPagerAdapter extends PagerAdapter { private Context context; public MyPagerAdapter(Context context) { this.context = context; } @Override public Object instantiateItem(ViewGroup container, int position) { // 페이지를 생성하고 container에 추가 View view = LayoutInflater.from(context).inflate(R.layout.page_layout, container, false); container.addView(view); return view; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public int getCount() { return 3; // 페이지 수 } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } } ``` 3. Activity/Fragment에서 ViewPager와 Listener 설정 `Activity`나 `Fragment`에서 `ViewPager`와 어댑터를 설정한 후, `OnPageChangeListener`를 추가합니다. ```java public class MainActivity extends AppCompatActivity { private ViewPager viewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager = findViewById(R.id.viewPager); MyPagerAdapter adapter = new MyPagerAdapter(this); viewPager.setAdapter(adapter); // OnPageChangeListener 설정 viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { // 페이지 스크롤 중일 때 호출 } @Override public void onPageSelected(int position) { // 페이지가 변경되었을 때 호출 Toast.makeText(MainActivity.this, "Selected page: " + position, Toast.LENGTH_SHORT).show(); } @Override public void onPageScrollStateChanged(int state) { // 페이지 스크롤 상태가 변경되었을 때 호출 } }); } } ``` 4. 메소드 설명 - onPageScrolled(int position, float positionOffset, int positionOffsetPixels) : 사용자가 페이지를 스크롤할 때마다 호출됩니다. 이 메소드는 현재 페이지 위치와 함께 스크롤 진행 상태를 나타내는 정보를 제공합니다. - onPageSelected(int position) : 새로운 페이지가 선택되었을 때 호출됩니다. 해당 페이지의 인덱스가 전달됩니다. - onPageScrollStateChanged(int state) : 페이지 스크롤의 상태가 변경되었을 때 호출됩니다. 상태는 다음과 같은 값을 가질 수 있습니다: - `ViewPager.SCROLL_STATE_IDLE`: 페이지가 멈춰 있는 상태 - `ViewPager.SCROLL_STATE_DRAGGING`: 사용자가 페이지를 드래그하고 있는 상태 - `ViewPager.SCROLL_STATE_SETTLING`: 페이지가 이동하고 있는 안착 상태 이와 같은 방식으로 `ViewPager`의 페이지 변경 이벤트를 감지하고 원하는 동작을 수행할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기