728x90 FRAGMENT8 Fragment 생성자 조건 Fragment 생성시 newInstance() 사용하는 이유 1. 프래그먼트 재성성(화면 회전과 같은)시 빈 생성자가 있어야 한다 2. 재생성시 받아온 데이터를 유지하기 위해서 사용한다. 자주사용하는코드 companion object { private const val ARG_PARAM1 = "param1" private const val ARG_PARAM2 = "param2" @JvmStatic fun newInstance(param1: String, param2: String) = MainFragment().apply { arguments = Bundle().apply { putString(ARG_PARAM1, param1) putString(ARG_PARAM2, param2) } } } newIn.. 2022. 11. 1. fragment간 데이터 전송 build.gradle 추가 // Kotlin implementation "androidx.fragment:fragment-ktx:$fragment_version" setFragmentResult로 데이터 전송 firstFragmentBinding.secondBtn.setOnClickListener { setFragmentResult("requestKey", bundleOf("data" to "hello")) mainViewModel.data = "hello" findNavController().navigate(R.id.action_firstFragment_to_secondFragment) } setFragmentResultListener로 데이터 수신 setFragmentResultListener("r.. 2022. 10. 3. 안드로이드 fragment에서 부모 fragment 접근 getParentFragment() 사용하시면 부모 fragment 얻을 수 있다. 2022. 8. 4. 안드로이드 Fragment Animation 새로운 Fragment 를 표시할 때 애니메이션을 설정할 수 있다. 애니메이션은 미리 정의 되어 있는 것이 있고 직접 구성할 수도 있다. 주의할 점은 애니메이션 설정은 프래그먼트를 교체하기 전에 해야 한다. 기본 애니메이션은 관계가 없지만 애니케이션을 커스터마이징 할 경우 프래그먼트 교체 후 설정하면 애니메이션이 적용되지 않는다. 기본 애니메이션 setTransition : 애니메이션을 설정하는 메서드이다. 새로운 Fragment로 교체할 때 설정하며 돌아올 때도 애니메이션이 나타난다. TRANSIT_FRAGMENT_FADE, TRANSIT_FRAGMENT_OPEN, TRANSIT_FRAGMENT_CLOSE 3 가지를 제공하고 있으며 안드로이드 버전에 따라 모두 같은 애니메이션이 나타날 수도 있다. 애니.. 2022. 6. 17. 안드로이드 Activity Controller Controller 웹, 모바일 등 애플리케이션 개발 시 눈에 보이는 화면들을 관리하는 요소를 Controller 라고 부른다. 만약 눈에 보이는 모든 부분을 Fragment로 만들어 사용할 경우 Fragment를 관리하는 Activity가 Contoller의 역할을 한다. Activity의 역할 각 Fragment를 교환하고 관리하는 역할을 한다. Fragment들이 사용할 데이터를 관리하는 역할을 한다. package com.example.activitycontroller import androidx.appcompat.app.AppCompatActivity import android.os.Bundle class MainActivity : AppCompatActivity() { val inputFrag.. 2022. 6. 17. 안드로이드 Fragment 내의 View 제어 onCreateView 메서드에서 생성한 View 객체를 통해 내부의 View 주소 값을 얻어올 수 있다. 이 때 findViewById 메서드를 사용한다 Activity 에서 View에 접근 할 때는 findViewById 가 아닌 자동으로 생성된 변수를 통해 접근하였다. Fragment 는 onCreateView 메서드에서 사용하면 오류가 발생하며 그 이후에 호출되는 메서드에서 처리해줘야 한다. Fragment에서 Activity 접근하기 Activity 프로퍼티를 사용하면 Fragment를 소유하고 있는 Activity에 접근이 가능하다. package com.example.fragmentview import androidx.appcompat.app.AppCompatActivity import an.. 2022. 6. 17. 안드로이드 Fragment 생명주기 Fragment 도 생명 주기를 가지고 있다. 각 생명 주기에 자동으로 호출되는 메서드가 제공되며 이 메서드를 통해 필요한 처리를 할 수 있다. package com.example.fragmentlifecycle import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layo.. 2022. 6. 17. 안드로이드 Fragement 여러 화면을 가지고 있는 애플리케이션은 여러 Activity를 가지고 있는 애플리케이션을 의미한다. Activity는 독립된 실행단위로 메모리를 많이 소모하는데 독립된 실행단위가 아닌 화면만 필요한 경우 Activity 보다는 Fragment를 활용하는 것이 효율적이다. Fragment는 Activity내의 작은 화면 조각으로 Activity의 화면을 여러 영역으로 나누어 관리하고 하는 목적으로 사용한다. 주로 사용 함수 add : Fragment를 지정된 레이아웃에 추가한다. replace : 지정된 레이아웃에 설정되어 있는 Fragment를 제거하고 새로운 Fragment를 추가한다. AddToBackStack 안드로이드에서 back button은 현재 Activity를 종료한다. Fragment는 .. 2022. 6. 17. 이전 1 다음 728x90