Kiểu NavController
dựa vào một hoặc nhiều đối tượng Navigator
để thực hiện thao tác điều hướng. Theo mặc định, NavController
hỗ trợ rời biểu đồ điều hướng thông qua cách chuyển đến một hoạt động khác bằng lớp ActivityNavigator
và lớp ActivityNavigator.Destination
lồng trong đó.
Để điều hướng đến bất kỳ loại đích đến nào khác, bạn phải thêm một hoặc nhiều đối tượng Navigator
khác vào NavController
. Ví dụ: khi sử dụng các mảnh làm đích đến, NavHostFragment
sẽ tự động thêm lớp FragmentNavigator
vào NavController
của nó.
Để thêm đối tượng Navigator
mới vào NavController
, hãy sử dụng phương thức getNavigatorProvider()
, rồi tới phương thức addNavigator()
.
Đoạn mã sau đây là ví dụ về cách thêm đối tượng CustomNavigator
vào NavController
:
Kotlin
val customNavigator = CustomNavigator() navController.navigatorProvider += customNavigator
Java
CustomNavigator customNavigator = new CustomNavigator(); navController.getNavigatorProvider().addNavigator(customNavigator);
Hầu hết các lớp Navigator
đều có một lớp con đích đến lồng bên trong. Bạn có thể sử dụng lớp con này để chỉ định các thuộc tính bổ sung dành riêng cho đích đến của mình. Để biết thêm thông tin về các lớp con đích đến, hãy xem tài liệu tham khảo về lớp Navigator
thích hợp.
Tài nguyên khác
Để tìm hiểu thêm về hoạt động điều hướng, hãy xem một số tài nguyên bổ sung sau đây.