마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

하단바를 눌렀을 때 액티비티로 연결되는 방법

0 추천

이렇게 했는데 오류가 뜨네요 어떻게 해야 되나요

오창훈 (230 포인트) 님이 2021년 9월 12일 질문
오창훈님이 2021년 9월 13일 수정
하단바가 뭔가요? 혹시 BottmoNavigationView를 말씀하시나요 아니면 BottomAppBar를 말씀하시나요? 아니면 또 다른거? 어떤 거든 간에 클래스에 맞는 Listener가 있을 거구요. 리스너에서 이동하려는 액티비티의 Intent를 생성하셔서startActivity를 호출하시면 될 겁니다.
어떻게 해야되나요ㅜㅜ 모르겠어요 도와주세요 위에꺼 봐주세요 수정했어요
코드를 반쪽만 올리셨네요. 아무래도 BottomNavigationView를 사용하시는 것 같은데, 맞다면, 이건 사용법이 살짝 달라요. Activity기반이 아니라 Fragment를 염두에 두고 만들어진 겁니다. 물론 Activity도 사용할 순 있지만, 그렇게 하면 화면전환하고 이런 부분이 맞지 않을 겁니다. BottomNavigationView의 메뉴에 해당하는 Activity마다 같은 BottomNavigationView를 달고 다니면서 선택된 버튼을 설정해주셔야 하구요.
BottomNavigationView를 사용하실 거면 같이 Navigation Component를 사용하는게 편합니다. 물론 FragmentManager를 통해 직접 제어해도 되지만, boiler plate code를 작성해야 하고  백스택이란걸 신경써주어야 합니다. 먼저 BottomNavigationView가 님의 요구사항에 맞는지부터 확인해 보세요. 사용하실 거면 MaterialDesign이나 안드로이드 개발자 문서를 먼저 읽어보시고 안되는 부분을 말씀해 주세요.
https://material.io/components/bottom-navigation/android#using-bottom-navigation
https://developer.android.com/reference/com/google/android/material/bottomnavigation/BottomNavigationView
https://developer.android.com/guide/navigation/navigation-getting-started

제 생각으로는, 위의 링크들만 참조하셔도 님이 질문 올리신 부분을 충분히 해결될 겁니다.
제가 채팅 기능을 구현하려고 하는데 Activity 기반인 BottomNavigationView 같은게 있나요? 아니면 Fragment와 Activity를 연동할 수 있을까요???
채팅기능과 Activity/Fragment는 서로 관련이 없는 내용이구요. 화면디자인을 어떻게 하시느냐에 따라 Activity를 사용할지 Fragment를 사용할지는 결정할 수는 있겠죠. 그리고 앞에서 말씀드렸듯이 BottomNavigationView는 Fragment와 연동하도록 되어있습니다. Activity에서 BottomNavigationView를 사용하시려면 Activity마다 BottomNavigationView를 붙여놓고 상태를 직접 제어하셔야 합니다. Activity를 사용할 때는 이런 메뉴를 Activity별로 가져갈 수 밖에 없을 겁니다. 물론 BaseActivity를 하나 만들어서 거기에 공통 부분을 집어넣고 사용할 수도 있습니다. 그건 님이 앱 아키텍쳐를 어떻게 할지에 따라 달라지겠죠. 제가 님의 머릿속에 들어있는 화면디자인과 아키텍쳐 부분에 대해서는 알 수가 없으므로, 더 필요한 부분은 개발자 문서와 Material Design 가이드를 보시고 결정하시는게 좋을 것 같습니다.
친절한 답변 감사합니다!!!
BottomNavigationView 항목은 5개 이상으로 만들면 안되는건가요?
기본은 5개까지만 지원합니다. 사실 5개가 넘어가면 화면을 터치하기가 힘들어요. 이 말은 사용자가 불편하지 않도록 상황에 적합한 디자인을 사용하셔야 한다는 의미죠.
Fragment와 Activity 차이를 잘 모르겠어요ㅜㅜ 제가 사용하려는 코드가 Fragment에서는 인식을 안해요
프레그먼트가 사실 엄청 복잡합니다. 사용하려면 최소한의 공부는 하시는게 좋아요.
아래를 참고하세요. 아래 페이지에 안에 걸려있는 링크들을 기본적으로 보셔야 할 거예요.

https://developer.android.com/guide/fragments

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...