목록프래그먼트 (3)
study record
1. onAttach() 프래그먼트가 액티비티에 붙을 때 호출된다. 아직 프래그먼트가 완벽하게 생성된 상태는 아니며, 인자로 context가 주어진다. 2. onCreate() 액티비티와 마찬가지로 초기화해야하는 리소스들을 여기서 초기화한다. 프래그먼트를 생성하면서 넘겨준 값들이 있다면, 여기서 변수에 넣어주면 된다. 하지만 여기서 UI는 초기화 할 수 없다. 본격적으로 프래그먼트가 액티비티에 호출을 받아 생성되는 시점이다. 액티비티의 onCreate()에선 view나 ui관련 작업을 할 수 있으나, 프래그먼트의 onCreate()에서는 할 수 없다. 대신 다음에 호출될 onCreateView()에서 ui관련 작업을 할 수 있다. 3. onCreateView() 레이아웃을 인플레이트(inflate)하는 ..
액티비티 Activity는 사용자가 앱에 접근할 수 있도록 하며, 다양한 활동(작업)을 할 수 있도록 하는 일종의 페이지이다. 액티비티는 가장 바닥에 존재하는 틀같은 것이다. 액티비티 없이는 View도 프래그먼트도 존재할 수 없다. 프래그먼트 프래그먼트는 액티비티와 View의 개념을 합쳐놓은 것이다. 프래그먼트를 사용하면 사용자는 액티비티를 변경하지 않고도 쉽게 View를 변경할 수 있어서 많이 사용한다. 프래그먼트는 화면 안에 들어가는 레이아웃이 중복되지 않도록 한 번만 정의하고 재사용이 가능하도록 만든 것이다. 프래그먼트를 통해 하나의 화면을 여러 부분으로 나누어 보여줄 수 있으며, 분할된 화면들을 독립적으로 구성하고 상태를 관리하기 위해 만들어졌다. 프래그먼트는 항상 액티비티 위에 올라가서 동작한다..
프래그먼트로 구성된 화면들로 이루어진 앱에서 뒤로 가기를 눌렀을 경우에 바로 앱을 나가지는 문제가 있다. 구글링해 본 결과, addToBackStack(null) 코드를 넣으면 이전 프래그먼트로 돌아가게 된다. 내가 쓴 코드이다. replace와 commit 사이에 코드를 추가했더니 뒤로 가기 버튼을 누렀을 때 이전의 프래그먼트 화면으로 잘 변경되었다. ((MainActivity)getActivity()).getSupportFragmentManager().beginTransaction().replace(R.id.container, YoutubeSinger).addToBackStack(null).commit();