상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - ViewPager의 Paging를 위해 GlobalContext 사용하기.
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
`ViewPager`는 Android 개발에서 여러 페이지를 스와이프하여 탐색할 수 있는 UI 구성 요소입니다. `ViewPager`와 함께 사용되는 `PagerAdapter`는 데이터를 기반으로 페이지를 생성하며, 페이지 전환을 관리합니다. `GlobalContext`를 사용하는 것은 일반적으로 애플리케이션의 전역 상태를 관리하거나, 여러 Activity 또는 Fragment에서 공통적으로 사용하는 리소스나 데이터를 액세스하기 위해 사용됩니다. ViewPager와 GlobalContext 사용하기 1. ViewPager 설정하기: 먼저, `ViewPager`를 XML 레이아웃에 추가합니다. ```xml <androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 2. PagerAdapter 작성하기: `PagerAdapter`를 상속받아 페이지를 관리하는 어댑터를 작성합니다. 이 Adapter는 `GlobalContext`에서 데이터를 가져오는 데 사용할 수 있습니다. ```java public class MyPagerAdapter extends PagerAdapter { private Context context; private List<MyData> dataList; public MyPagerAdapter(Context context, List<MyData> dataList) { this.context = context; this.dataList = dataList; } @Override public Object instantiateItem(ViewGroup container, int position) { // 페이지 생성 및 초기화 View view = LayoutInflater.from(context).inflate(R.layout.page_layout, container, false); // 데이터 설정 <a href='https://sangseek.com/sangseeks/TextView/ko'>TextView</a> textView = view.findViewById(R.id.textView); textView.setText(dataList.get(position).getText()); container.addView(view); return view; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public int getCount() { return dataList.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } } ``` 3. GlobalContext 사용하기: GlobalContext를 활용하여 애플리케이션 전역에서 데이터에 접근하거나 설정할 수 있습니다. `Application` 클래스를 상속하여 전역 Context를 관리할 수 있습니다. ```java public class MyApplication extends Application { private static MyApplication instance; @Override public void onCreate() { super.onCreate(); instance = this; } public static MyApplication getInstance() { return instance; } } ``` 4. Activity에서 ViewPager 초기화하기: Activity에서 `ViewPager`와 `MyPagerAdapter`를 초기화하고 `GlobalContext`를 통해 데이터에 접근합니다. ```java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewPager viewPager = findViewById(R.id.viewPager); List<MyData> dataList = GlobalContext.getInstance().getDataList(); // global context에서 데이터 가져오기 MyPagerAdapter adapter = new MyPagerAdapter(this, dataList); viewPager.setAdapter(adapter); } } ``` 결론 `ViewPager`와 `GlobalContext`를 사용하면, 여러 화면에서 공통으로 사용되는 데이터나 리소스에 쉽게 접근할 수 있습니다. 이러한 접근 방식은 중복 코드 작성을 줄이고, 애플리케이션의 유지 보수를 용이하게 합니다. 그러나 전역적 Context의 사용은 메모리 누수의 위험이 있으므로 주의해서 사용해야 합니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기