MainActivity 에 interface 구현, fragment 에서 구현함수 호출 > Kotlin/Java/Android

본문 바로가기
사이트 내 전체검색

Kotlin/Java/Android

MainActivity 에 interface 구현, fragment 에서 구현함수 호출

페이지 정보

작성자 sbLAB 댓글 0건 조회 3,558회 작성일 20-07-07 14:26

본문

프래그먼트에서 메인엑티비티 수준의 함수에 접근해야 할때.. 공용 인터페이스 만들어서 메인엑티비티에 상속 -> 프래그먼트에서 인터페이스를 통해 접근


[인터페이스]

/**
 *네비게이션바 -> Drawer 활성/비활성 interface
 * MainActivity 에서 이 interface 상속
 */

interface DrawerLocker {
    fun setDrawerLocked(shouldLockBoolean)
}


[메인엑티비티]
class MainActivity  : AppCompatActivity(), DrawerLocker {
......

    /** 네비게이션 Drawer 활성/비활성 설정
     *  (activity as DrawerLocker).setDrawerLocked(false)
     */
    override fun setDrawerLocked(enabled:Boolean) {
        if (enabled) {
            drawer_layout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
            toolbar.navigationIcon = null//햄버거아이콘 숨김
        } else {
            drawer_layout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
        }
    }
......
}

[프래그먼트에서 호출]
    override fun onViewCreated(viewViewsavedInstanceStateBundle?) {
        super.onViewCreated(view, savedInstanceState)
        (activity as DrawerLocker).setDrawerLocked(true//네비게이션바 Drawer 잠금
    }

    override fun onStop() {
        super.onStop()
        (activity as DrawerLocker).setDrawerLocked(false//네비게이션바 Drawer 잠그지않음
    }
 



댓글목록

등록된 댓글이 없습니다.

회원로그인

접속자집계

오늘
334
어제
433
최대
1,279
전체
219,002

그누보드5
Copyright © sebom.com All rights reserved.