我正在制作一个简单的应用程序,其中包含一个回收程序,其中包含一个项目列表,当点击一个项目时,它需要导航到该项目的一个新的单独页面。(注意,包含项目列表的回收程序视图和项目页面都是片段,导航需要在不启动新Activity的情况下进行)
我已经在MainActivity中设置了NavHostFragment和onClickListener,以便在带有回收器视图的片段的Adapter类的onBindViewHolder方法中获取单击的项目。我不知道如何在Adapter类的onClickListener方法中调用MainACtivity中的navController来导航到项目片段,或者有没有其他方法可以做到这一点?我是新手android studio dev!请帮助,谢谢!
1条答案
按热度按时间34gzjxbg1#
您可以简单地实现一个接口来在fragment和adapter之间进行通信。
假设有片段A、片段B和一个适配器。
FragmentA和适配器是相关的,并且您希望从FragmentA移动到FragmentB。因此,您使用接口侦听器将FragmentA与适配器连接。在适配器中处理click事件,并将数据从适配器传递到FragmentA,然后使用导航控制器从FragmentA中的override方法调用FragmentB。
下面是一个简单的例子:
监听程序:
片段A:
适配器:
片段B: