앞선 포스팅을 통해 BottomNavigationView 사용할 준비를 마친 다음
https://cong-s.tistory.com/263
Android Studio - BottomNavigationView 사용하기 (.With Navigation Component)
레이아웃 화면에서 BottomNavigationView 끌어다 놓기 위와 같은 화면이 안 뜨고 로딩만 되는 거 같을 때, 디자인 화면이 안 뜰 때는 프로젝트를 껐다가 다시 열어보자. 위 화면이 뜨고 필요한 라이브
cong-s.tistory.com
실제 연결하는 코드는 다음과 같다.
public class MainActivity extends AppCompatActivity {
// 멤버 변수 할당
BottomNavigationView navigationView ;
Fragment firstFragment;
Fragment secondFragment;
Fragment thirdFragment;
Fragment forthFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 보통 내비게이션바 부분이 있는 앱의 경우 상단의 액션바는 감춘다.
getSupportActionBar().hide();
// 화면 연결
navigationView = findViewById(R.id.bottomNavigationView);
// itme select 로 메뉴를 누르면 화면이 바뀌도록 설정.
// 먼저 객체 생성.
firstFragment = new FirstFragment();
secondFragment = new SecondFragment();
thirdFragment = new ThirdFragment();
forthFragment = new ForthFragment();
// 실제 연결 부분
navigationView.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
// itemId 객체 생성
int itemId = item.getItemId();
// Fragment 변수 생성
Fragment fragment = null;
// 실제 item과 연결
if(itemId == R.id.firstFragment){
fragment = firstFragment;
getSupportActionBar().setTitle("영화정보");
getSupportActionBar().show();
} else if(itemId == R.id.secondFragment){
fragment = secondFragment;
getSupportActionBar().setTitle("리뷰작성");
getSupportActionBar().show();
} else if(itemId == R.id.thirdFragment){
fragment = thirdFragment;
getSupportActionBar().setTitle("추천영화");
getSupportActionBar().show();
} else if(itemId == R.id.forthFragment){
fragment = forthFragment;
getSupportActionBar().setTitle("내 정보");
getSupportActionBar().show();
}
// 로드.
return loadFragment(fragment);
}
});
}
// 로드 loadFragment 메소드 정의
private boolean loadFragment(Fragment fragment) {
if(fragment != null){
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment, fragment)
.commit();
return true;
}
return false;
}
}'Android' 카테고리의 다른 글
| Android Studio - Location 으로 위도, 경도 구하기 (0) | 2022.07.29 |
|---|---|
| Android Studio - No speakable text present 에러 없애기 (0) | 2022.07.28 |
| Android Studio - BottomNavigationView 사용하기 (.With Navigation Component) (0) | 2022.07.27 |
| Android Studio - Retrofit 에서 Multi form으로 데이터를 보내는 방법 (0) | 2022.07.26 |
| Android Studio - (gradle) AndroidX 에러 해결 (0) | 2022.07.25 |
댓글