我有一个nav_graph,其中定义了片段1和片段2。Fragment1有带有3个选项卡的视图寻呼机,每个选项卡都有回收视图。
我如何导航到碎片2在项目点击回收视图?
Fragment->ViewPager->Recyclerview->ClickAction.
发布于 2022-09-30 04:02:08
在回收视图的片段中,只需调用requireParentFragment().findNavController().navigate(/* destination */)
就可以导航到Fragment2。
此外,您应该将一个lambda传递到您的回收视图适配器,然后将它传递到您的视图持有人使用它(我建议这样做)。
您可以在下面的示例代码中阅读更多有关这方面的内容。
class YourRecyclerViewAdapter(..., private val onItemClick: () -> Unit) : RecyclerView.Adapter<YourViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup) = YourViewHolder(onItemClick)
override fun onBindViewHolder(holder: YourViewHolder, position: Int) {
holder.bind(...)
}
}
class YourViewHolder(..., private val onItemClick: () -> Unit) : RecyclerView.ViewHolder(...) {
fun bind(...) {
// Use onItemClick here...
}
}
class RecyclerViewFragment : Fragment() {
override fun onViewCreated(view: View, saveInstanceState: Bundle?) {
val adapter = YourRecyclerViewAdapter(...) {
requireParentFragment().findNavController().navigate(...)
}
yourRecyclerView.adapter = adapter
}
}
https://stackoverflow.com/questions/73902640
复制