问题描述
我使用回收器视图来显示提要,每个项目都是在 xml 视图中定义的一个按钮。我只是想知道在从适配器单击回收器视图中的项目时使用导航组件和导航是否安全。我目前为 onBindViewHolder 内的按钮设置了 onClickListener,在 onClick 中我设置了以下内容:
TabsFragmentDirections.ActionNavHometoNavGroupsFeed action =
TabsFragmentDirections.actionNavHometoNavGroupsFeed(
myListData.getGroupName()
);
Navigation.findNavController(view).navigate(action);
Directions 类是通过使用安全参数将参数传递给目的地而生成的(从这里 https://developer.android.com/guide/navigation/navigation-pass-data)。
谢谢!!
解决方法
是的,我会说这是安全的。您的适配器与您的片段/活动一样长,因此看起来不会有任何泄漏的可能性。
话虽如此,为了更好地分离关注点,通常认为在适配器外部实现这种类型的逻辑是更好的做法!