개발/Android 46

[안드로이드] Fragment위에 Fragment 올리기 (TabLayout & BottomNavigation)

이번 포스팅은 BottomNavigation 위에 프래그먼트를 올리고, 그 프래그먼트에 탭 레이아웃을 적용하여 또 프래그먼트를 올리는 것을 정리할 것이다. 우선 필요한 준비물은 BottomNavigationView이니 만들어보자. 1. activity_main.xml activity_main.xml에 BottomNavigationView와 탭레이아웃을 올릴 FrameLayout을 만들어준다. 2. menu_bottom_navi.xml 그리고 bottomNavigation에 들어갈 각각의 item을 만들어준다. 3. 각각 item에 대한 Fragment.kt 만들기 class MyPageFragment : BaseFragment(FragmentMyPageBinding::bind, R.layout.fragm..

개발/Android 2022.03.18

[안드로이드] Recyclerview footer 사용

안드로이드 Recyclerview footer 사용법에 관한 포스팅이다. Header도 마찬가지로 같은 방법을 적용하면 된다. 1. footer.xml 추가 2. Adapter에 Footer에 대한 처리 구현 getItemCount에 헤더,풋터 개수 포함 (지금 포스팅은 풋터만 해당되므로 +1만 해줌) getItemViewType에 position에 따른 타입 반환 추가 각 타입에 따른 ViewHolder class 추가 onCreateViewHolder에서 각 타입에 따른 ViewHolder Class 반환 추가 onBindViewHolder에 각 ViewHolder에 따른 처리 추가 package com.example.api_practice.src.main.today.now import android..

개발/Android 2022.03.15

[안드로이드] RecyclerView Drag & Drop 구현 (GridLayout)

그리드레이아웃을 가진 리사이클러뷰 드래그앤드롭을 구현하였는데, 까먹기 전에 정리하려고 한다. 필요한 준비물은 MyTouchHelperCallback 코틀린파일과 DragAndDropAdapter 구현해야한다. (당연히 RecyclerView는 다 구현이 되어있어야겠죠?) MyTouchHelperCallback.kt ItemTouchHelper를 사용하기 위해서 ItemTouchHelper.CallBack을 구현해야한다. import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.RecyclerView class MyTouchHelperCallback( private val itemMoveListener: O..

개발/Android 2022.02.27

[안드로이드] TabLayout + Fragment 사용하기

1. activity_main.xml에 TabLayout 추가 2. activity_main.xml 에 fragment 태그 추가하기 3. fragment.xml, Fragment.kt 만들기 4. MainActivity 탭 메소드, 프래그먼트 객체화해주기 1. activity_main.xml에 TabLayout 추가 2. activity_main.xml 에 fragment 태그 추가하기 태그안에 name을 꼭 지정해주어야한다. 3. fragment.xml, Fragment.kt 만들기 탭을 두개 만들었으니 xml과 코틀린 파일도 각각 두개 만들어야한다. 위에는 랭킹 xml 아래는 즐겨찾기 코틀린 파일. package com.example.rc_4.Fragment data class Shoppingmal..

개발/Android 2022.02.27

[안드로이드] 스크롤 시 체크박스 해제되는 문제 해결

RecyclerView를 사용하다보면 좋아요 등 체크박스가 들어가 있는 레이아웃을 볼 수 있는데, 스크롤을 하면 체크박스가 유지되지 않고 풀려버리거나 생뚱맞게 다른 체크박스가 눌려져있는 것을 확인할 수 있다. 이것을 또 까먹기 전에 정리하려 한다. 우선, 체크박스가 왜 갑자기 해제되냐? RecyclerView는 뷰 객체를 한번에 생성하는 것이 아니라 계속 재활용해서 사용하기 때문에 스크롤했다가 다시 돌아오면 새로 초기화되어서 보여주기 때문이다. 그렇다면 어떻게 해결하면 좋을지 차근차근 살펴보자! 순서 1. 데이터 클래스 추가 (체크한 객체에 대한 현재값 저장) 2. 데이터 리스트 생성 3. 어댑터 수정 1. 데이터 클래스 추가 (체크한 객체에 대한 현재값 저장) 따로 체크박스에 대한 클래스를 만들어준다...

개발/Android 2022.02.27

[안드로이드] RecyclerView 사용하기 ( + ViewBinding, Fragment)

이번 포스팅은 RecyclerView를 사용법을 정리해볼건데, 인터넷에 나와있는 방법은 ViewBinding을 사용한 코드는 별로 없는 것 같아서 정리해보고자 한다. 이번에도 지그재그 어플을 본따서 만들예정. 순서 1. activity_main.xml에 RecyclerView추가 2. item.xml 만들기 3. DataClass 생성 4. Adapter 생성 5. MainActivity에 Adapter와 RecyclerView를 연결하기 1. fragment_main.xml에 RecyclerView추가 지금 저 스크롤뷰는 무시해주시고,,, RecyclerView를 붙여줍니다. 2. item.xml 만들기 리사이클러뷰에 들어갈 아이템 레이아웃을 만들어줍니다. 3. DataClass 생성 데이터클래스를 만..

개발/Android 2022.02.27

[안드로이드] ListView 사용하기

순서 1. activity_main.xml에 listview 추가 2. listview_item.xml 만들기 3. data class 만들기 4. MainActivity에 ArrayList 만들기 5. ArrayList 만들어서 add로 데이터 넣기 6. Adapter 만들기 (BaseAdatper 상속) 7. MainActivity에 Adapter 셋팅하고, ListView에 셋팅한 Adapter 넣기 어휴 굉장히 복잡한게 하나씩 까먹기 전에 해보자! 나같은 경우는 Activity위에 ListView를 올리는 작업은 인터넷에 많이 있기도 하고,, Fragment에 ListView를 사용해보았다. 그리고 지그재그 클론코딩 중이다! 1. activity_main.xml에 listview 추가 위의 화면은..

개발/Android 2022.02.27

[안드로이드] RecyclerView, ListView

어플리케이션을 사용하다보면 가장 많이 볼 수 있는 형태가 리스트형태이다. ListView와 recyclerView로 구현할 수 있는데, 이것이 어떻게 다른지 알아보자 ListView 사용자가 정의한 데이터 목록을 세로 방향으로 나열하여 화면에 표시하는 뷰 그룹의 한 종류이다. 간단하게 리스트를 만드는 부분에 있어서 장점을 가지고 있다. 간단한 아이템 형태를 만드는 경우에는 빠르게 적용이 가능한 ArrayAdapter를 제공한다. 아이템 클릭 리스너가 인터페이스로 존재한다. 하지만 아이템을 재사용하지 못함. 따라서 아이템을 생성할 때마다 뷰 바인딩을 계속해주어 성능저하가 일어남 RecyclerView 리사이클러뷰는 목록을 화면에 출력해주고 동적으로 편하는 컨테이너이다. RecyclerView는 ListVI..

개발/Android 2022.02.25