dependencies {
implementation 'androidx.navigation:navigation-fragment:2.5.3'
implementation 'androidx.navigation:navigation-ui:2.5.3'
}

하나의 묶음을 만드는게 navigation이라면, 묶은 여러개의 View들을 Fragment라고 한다!

Fragment를 자신이 원하는 이름으로 만들자.


우선 사용할 탭바를 만들자.

만든 BottomNavigationView에서 menu 옵션을 통해 연결하자!


만든 탭바에 따라 다른 Fragment를 보여주기 위해서 연결해보자!
// 멤버 변수
BottomNavigationView buttonNavigationView;
//각 프레그먼트들을 멤버변수로 만든다.
Fragment firstFragment;
Fragment secondFragment;
Fragment thirdFragment;
@Override
protected void onCreate(Bundle savedInstanceState){
// ...
buttonNavigationView = findViewById(R.id.buttonNavigationView);
firstFragment = new FristFragment();
secondFragment = new SecondFragment();
thirdFragment = new ThirdFragment();
//탭바를 클릭 했을때,
buttonNavigationView.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int itemId = item.getItemId();
Fragment fragment = null;
// 각각의 탭바에 따라 fragment를 설정해서 값을 변경
if(itemId == R.id.firstFragment){
fragment = firstFragment;
}else if(itemId == R.id.secondFragment){
fragment = secondFragment;
}else if(itemId == R.id.thirdFragment){
fragment = thirdFragment;
}
return loadFragment(fragment);
}
});
}
// 누른 fragment에 따라 화면을 보여주는 함수
// commit을 통해야 보여준다.
boolean loadFragment(Fragment fragment){
if(fragment != null){
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment, fragment)
.commit();
return true;
}else {
return false;
}
}
이런 유용한 정보를 나눠주셔서 감사합니다.