본문 바로가기

분류 전체보기94

ViewPager2의 Fragment 데이터 받기 (Bundle 이용) Bundle Bundle(번들): key, value 쌍으로 데이터를 저장하는 일종의 Map 클래스 Bundle과 Intent 차이 Bundle: 단순히 데이터 전달을 위한 직렬화 객체, 주로 Fragment간 데이터 전달에 사용 Intent: 특정 컴포넌트를 실행하고 원하는 데이터를 전달하기 위한, Activity간 또는 Activity-Fragment간에 사용 1. 일단 첫 번째 프래그먼트 클래스 내에 정적변수로 Bundle을 선언한다 : static변수는 프로그램 실행 시 할당되고 종료시 파괴되는 변수이기 때문에, 프래그먼트가 여러번 실행되더라도 변수의 선언 및 초기화는 한번만 이루어짐 public class Fragment1 extends Fragment{ EditText et_name; stat.. 2021. 8. 7.
Spinner & DatePicker 사용해 시간/날짜 입력받기 Spinner 사용 Spinner: 값 집합에서 하나의 값을 선택할 수 있도록 옵션제공 1. xml에 Spinner 추가 2. 메인 액티비티에 코드 작성 : Adapter를 통해 스피너에 항목 제공 나는 현재 프로젝트가 Fragment를 사용한 액티비티라 메인이 아님 public class UserPeriodActivity extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.setting_period, container, f.. 2021. 8. 5.
ViewPager2 로 여러 개의 뷰 슬라이드 구현 ViewPager 설명 ViewPager2 (뷰페이저) : 좌우 스크롤을 통하여 여러개의 화면을 전환할 수 있는 뷰 - 기존 ViewPager보다 개선된 버전 - ViewPager도 RecyclerView 기반으로 만들어진 컴포넌트이므로(데이터를 화면에 배치) Adapter구현 필수 PagerAdapter : ViewPager내부를 차지하게 해주는 기본 클래스 - 여러 화면에 대한 정보를 넘겨주어 각 데이터 항목에 해당하는 뷰를 생성 FragmentPagerAdapter: - 프래그먼트 개수가 적거나 정해진 화면에서 사용 - 각 프래그먼트가 보여지지 않을 때도 상태를 유지하므로 많은 양의 메모리 사용 FragmentStateAdapter: 새로운 페이지를 보여주기 위한 어댑터 객체 - 프래그먼트 개수가 .. 2021. 8. 4.
RecyclerView사용 RecyclerView 구성요소 RecyclerView(리사이클러 뷰): 많은 수의 데이터 집합을 제한된 영역 내에서 유연하게 표현해주는 위젯 - 기존 리스트뷰에서 유연함과 성능을 더한 개선판이라고도 볼 수 있음 Adapter(어댑터): 리사이클러뷰에 표시될 아이템뷰를 생성하는 역할 LayoutManager(레이아웃 매니저): 리사이클러뷰가 아이템을 화면에 표시할 때, 아이템 뷰들이 리사이클러뷰 내부에서 배치되는 형태를 관리 - LinearLayoutManager, GridLayoutManager, StaggeredGridLayoutManager 등 ViewHolder(뷰홀더): 화면에 표시될 아이템 뷰를 저장하는 객체로, 어댑터에 의해 관리됨 - 어댑터가 한번 생성한 후, 생성된 뷰홀더 객체를 재활용함.. 2021. 8. 4.