안드로이드/Activity & Fragment

    Navigation의 백스택을 관리해보자

    Navigation의 백스택을 관리해보자

    바텀 내비게이션과 내비게이션 컨트롤러를 이용한 프래그먼트의 이동을 구현하다 보면 꼬일 때가 있습니다. 위 상황처럼 홈에서 원 프래그먼트로 바로 이동하게 하면 다시 홈으로 갈 수 없는 것을 볼 수 있습니다. 왜 이런 상황이 발생하는지, 해결 방법이 무엇인지 알아봅시다. 내비게이션 백 스택의 구조 일반적인 내비게이션의 백스택입니다. 프래그먼트를 이동할 때마다 이전 프래그먼트가 백스택에 쌓이는 형식입니다. 그렇다면 바텀 내비게이션의 목적지는 어떨까요? 처음 바텀 내비게이션을 정의하면 목적지가 저장됩니다. 위에 보인 예제처럼 홈에서 임의로 액션을 정의하면 바텀 내비게이션의 목적지에 정의한 액션이 들어가게 됩니다. 따라서 위 gif처럼 바텀 내비게이션으로 홈 화면으로 돌아갈 수 없는 것입니다. 일반 내비게이션 백..

    Navigation으로 Fragment전환을 쉽게 해보자 (feat.BottomNavigation)

    Navigation으로 Fragment전환을 쉽게 해보자 (feat.BottomNavigation)

    Fragment는 생각만 하면 머리가 아파오지만 안드로이드의 필수적인 기능임은 틀림없습니다. 하지만 화면 전환을 할 때만 되면 골치 아파지죠, 특히 프래그먼트간 전환을 할 때입니다. 기존 액티비티에서 프래그먼트로 이동할 때 FragmentManager()를 이용했습니다. 그리고 프래그먼트 간 전환을 하기 위해 우린 상위 액티비티에서 전환 이벤트를 전부 구현해줘야 했습니다. Activity to Fragment, Fragment to Fragment Fragment란? 사전적 의미로 Fragment란 조각을 의미한다. 우리가 앱을 개발하다보면 액티비티에 부분적인 화면을 추가하고 싶을 때가 있다. 특히, 한 액티비티에서 여러 화면이 전환되게 만들고 싶을 huzit.tistory.com 이런 불편하고 까다로운..

    OnClick 이벤트 설정하는 방법

    OnClick 이벤트 설정하는 방법

    이벤트 리스너란? View클래스 내에 있는 일종의 인터페이스로, 하나의 콜백 메서드를 가지고 있습니다. 이러한 콜백 메서드는 리스너가 등록된 뷰에서 상호작용이 일어났을 시 Android 프레임워크에 의해 호출됩니다. OnClickListener는 View를 상속하고 있는 개별 UI 구성요소(위젯)들이 클릭 됐을 때 작동하는 인터페이스입니다. 방법은 총 3가지 입니다. 1. View.OnClickListener을 implement 2. OnClickListener의 객체 생성 3. 버튼 xml 코드에 직접 할당 1. View.OnClickListener을 implement class MainActivity : AppCompatActivity(), View.OnClickListener{ private lat..

    Activity to Fragment, Fragment to Fragment

    Activity to Fragment, Fragment to Fragment

    Fragment란? 사전적 의미로 Fragment란 조각을 의미한다. 우리가 앱을 개발하다보면 액티비티에 부분적인 화면을 추가하고 싶을 때가 있다. 특히, 한 액티비티에서 여러 화면이 전환되게 만들고 싶을 때 이를 도와줄 수 있는 것이 Fragment이다. 특징 1. 프래그먼트의 특징 Fragment는 기본적으로 액티비티 위에서 동작하기 때문에 비슷한 구조와 특징을 갖고있다. 액티비티간 이동은 시스템에서 Intent로 하듯이, Fragment는 Fragment Manager를 통해 이동한다. 이때 Fragment는 Activity위에서 동작하기 때문에 Intent가 아닌 메소드 호출을 통해 이동하게된다. 2. 프래그먼트의 사용법 Fragment도 액티비티와 마찬가지로 xml파일과 class파일 쌍으로 구..