如何在另一个片段中访问和使用一个片段的按钮?

How can I access and use button of one fragment inside another fragment?

我有一个片段,HomeFragment()。在这个片段中,我有 TabLayoutViewPager2。在 viewPager2 中还有另一个片段叫做 ordersFragment()。是否可以单击放置在 HomeFragment() 中的任何按钮并在 ordersFragment()` 中显示一些文本?

最佳做法是使用在一个片段中实现的回调并在另一个片段中调用它。

如果您使用的是 kotlin,请检查此..

link (我不想在这里复制粘贴相同的代码)

我真的建议使用现代方法,即 ViewModels component。视图模型基本上是一个保存数据和状态的 class,组件使 activity 中的每个片段能够获取相同的视图模型实例,因此它们都在查看相同的东西

这样,一个片段可以为某些数据设置一个值,而另一个片段 observe 设置它并在有更新时得到通知。两个片段都不需要了解彼此,它们只是与视图模型对话并观察它们需要担心的事情。有这样的例子in the docs

可以 自己协调所有这些东西(例如通过父 Activity 并与另一个片段对话)但是你添加了很多东西ViewModel 为您处理的工作和样板文件。它还可以帮助您将 UI(显示内容、处理用户交互)与业务逻辑(使用该数据执行某些操作、更新应用程序状态)分开。了解它绝对是件好事,并使围绕您的应用程序的交流变得更加容易