• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

[참고]네비게이션바 리스너에 this 넣을시 에러

20.09.16 16:23 작성 조회수 208

8

메엔 엑티비티에 네비게이션뷰를 상속받지 않고 바로 람다식으로 리스너를 달면 됩니다

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// bottom_navigation.setOnNavigationItemReselectedListener(this)

bottom_navigation.setOnNavigationItemSelectedListener { it ->
when (it.itemId) {
R.id.action_home -> {
val detailViewFragment = DetailViewFragment()
supportFragmentManager.beginTransaction().replace(R.id.main_content, detailViewFragment).commit()
true
}
R.id.action_search -> {
val gridFragment = GridFragment()
supportFragmentManager.beginTransaction().replace(R.id.main_content, gridFragment).commit()
true
}
R.id.action_photo -> {
true
}
R.id.action_favorite_alarm -> {
val alarmFragment = AlarmFragment()
supportFragmentManager.beginTransaction().replace(R.id.main_content, alarmFragment).commit()
true
}
R.id.action_account -> {
val userFragment = UserFragment()
supportFragmentManager.beginTransaction().replace(R.id.main_content, userFragment).commit()
true
}
else -> false
}
}
}
}

답변 2

·

답변을 작성해보세요.

1

이규봉님의 프로필

이규봉

2022.03.13

setOnNavigationItemSelectedListener또한 deprecated됨 setOnItemSelectedListener로 바꾸면 정상작동함

0

이승주님의 프로필

이승주

2020.12.15

와! 정말 감사합니다!!