在适配器中使用导航组件是否安全?

问题描述

我使用回收器视图来显示提要,每个项目都是在 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)。

谢谢!!

解决方法

是的,我会说这是安全的。您的适配器与您的片段/活动一样长,因此看起来不会有任何泄漏的可能性。


话虽如此,为了更好地分离关注点,通常认为在适配器外部实现这种类型的逻辑是更好的做法!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...