如何解决有关Android中的NavController的理解问题
我刚开始在Android中使用Jetpack导航,但我有一个问题。我在实现View.OnClickListener
的Fragment中有以下方法public void onClick(View view) {
if(view.getId() == R.id.imageButton_Softdrinks_en) {
int amount = 1;
Menu_FragmentDirections.ActionMenuFragmentToSoftdrinks action = Menu_FragmentDirections
.actionMenuFragmentToSoftdrinks(amount);
Navigation.findNavController(view).navigate(action);
}
}
基本上该方法有效,但我并不真正理解为什么。方法声明中的View应该是ImageButtons。使用命令:“ Navigation.findNavController(view)”时,Android搜索视图的Navcontroller。鉴于该视图是一个ImageButtom,所以我不明白为什么导航有效。 ImageButtoms没有NavController或NavHost。有人介意向我解释这一点。感谢您的每条评论,也非常感谢您的帮助。
解决方法
您可以在Navigation.findNavController(View)
层次结构中的任何View
上调用View
。然后,系统将遍历层次结构,直到找到父Fragment
(NavHostFragment
)为止,然后它将找到NavHostFragment
的NavController。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。