상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
첫만남에 손잡는 남자의 손길이 주는 안정감은 어떤가요?
킬로줄이 높은 음식은 어떤 예가 있나요?
킬로줄을 활용한 다이어트 방법은 어떤 것이 있나요?
킬로줄에 대한 실험적 접근 방법은 어떤 것이 있나요?
킬로줄 단위를 유치원에서 교육할 수 있는 방법은?
"Between"과 "Among"은 언제 각각 사용하나요?
"Already"와 "Yet"은 언제 다르게 사용하나요?
'먼저 손 잡는 여자'와의 관계가 깊어지면 생기는 변화는?
30대 남자 솔로가 많은 이유는 자기계발에 집중하기 때문인가요?
부산에서 인기 있는 SNS 포토존은 어디인가요?
30대 초반 여자 현실에서의 사회적 안전망은 충분한가요?
대출심사 시 참고할 수 있는 인터넷 자료는 무엇인가요?
Previous
Next
수정하기 - ViewPager에서 동적으로 페이지를 추가하거나 제거하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
ViewPager에서 동적으로 페이지를 추가하거나 제거하는 방법은 ViewPager와 연결된 어댑터를 통해 이루어집니다. 여기서는 Android의 ViewPager2를 사용한다고 가정하고, 일반적인 절차를 설명하겠습니다. ViewPager2는 이전 버전인 ViewPager보다 더 많은 기능과 성능 개선을 제공합니다. 1. 필요한 라이브러리 추가 먼저, `build.gradle` 파일에 ViewPager2 의존성을 추가합니다: ```groovy dependencies { implementation "androidx.viewpager2:viewpager2:1.0.0" } ``` 2. ViewPager2 및 RecyclerView.Adapter 설정 ViewPager2는 RecyclerView.Adapter를 사용합니다. 따라서 먼저 어댑터를 설정해야 합니다. Adapter 클래스 작성 ```kotlin class MyPagerAdapter(private val items: MutableList<String>) : RecyclerView.Adapter<MyPagerAdapter.ViewHolder>() { class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val textView: TextView = itemView.findViewById(R.id.textView) } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val view = LayoutInflater.from(parent.context).inflate(R.layout.item_layout, parent, false) return ViewHolder(view) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { holder.textView.text = items[position] } override fun getItemCount(): Int = items.size fun addItem(item: String) { items.add(item) notifyItemInserted(items.size - 1) } fun removeItem(position: Int) { if (position >= 0 && position < items.size) { items.removeAt(position) notifyItemRemoved(position) } } } ``` 이 어댑터는 간단한 리스트 아이템을 포함하고 있으며, `addItem` 및 `removeItem` 메소드를 사용하여 리스트를 조작할 수 있습니다. 3. ViewPager2 설정 Activity 또는 Fragment에서 ViewPager2를 설정합니다. ```kotlin class MyActivity : AppCompatActivity() { private lateinit var viewPager: ViewPager2 private lateinit var adapter: MyPagerAdapter private val items = mutableListOf<String>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) viewPager = findViewById(R.id.viewPager) adapter = MyPagerAdapter(items) viewPager.adapter = adapter // 예제 데이터 추가 addNewPage("Page 1") addNewPage("Page 2") } private fun addNewPage(title: String) { adapter.addItem(title) } private fun removePage(position: Int) { adapter.removeItem(position) } } ``` 4. 페이지 추가 및 제거 `addNewPage` 메소드를 호출하여 페이지를 추가하고, `removePage` 메소드를 통해 특정 페이지를 제거합니다. 예를 들어 버튼 클릭 시 페이지를 추가하거나 제거할 수 있습니다. 5. UI 반영 페이지를 추가하거나 제거할 때 `notifyItemInserted` 및 `notifyItemRemoved` 메소드를 호출하여 RecyclerView의 데이터 변경을 UI에 반영합니다. 예제 UI Layout ```xml <androidx.viewpager2.widget.ViewPager2 android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 이로써 ViewPager2에서 동적으로 페이지를 추가하거나 제거하는 기본적인 방법을 구현할 수 있습니다. 필요한 경우 더 복잡한 데이터 구조나 사용자 정의 레이아웃을 추가하여 확장할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기