【问题标题】:How to reuse a layout in other fragments如何在其他片段中重用布局
【发布时间】:2021-08-25 19:06:34
【问题描述】:

我正在使用Navigation Drawer Activity。当我做了两个fragments时,我注意到它们的布局是一样的。不同之处在于按下button 对每个fragment 执行不同的方法。但是另一个buttons 在两个fragments 上做同样的事情。如何重用 fragments 的布局和 java 代码,并能够指定要在每个片段上执行的方法,知道它需要 View 访问权限?

【问题讨论】:

  • 如果您显示一些您当前拥有的用于这两个片段的代码,我们可以更轻松地通过具体建议回答您的问题。

标签: java android android-fragments


【解决方案1】:

一种方法是创建两个不同的片段类,它们加载相同的 XML 布局并以编程方式为按钮分配单击处理程序。

【讨论】:

  • 这应该是公认的答案。为两个片段创建两个类并在其中膨胀相同的布局。
【解决方案2】:

您可以使用按钮的可见性。对两个片段使用相同的 xml 而不是一个按钮使用两个,然后在片段中检查哪个片段在视图中,然后更改可见性。活动不需要的按钮消失。如果您使用的是 databindng,则为 viewmodel 中的两个按钮执行不同的任务,这将执行其余的按钮任务

【讨论】:

  • OP 正在使用两个片段,而不是两个活动。你能重新调整你的答案吗?
【解决方案3】:

您可以设置一个布尔值(fals 是第一个“片段”,true 是第二个)。然后你可以使用你的女巫“片段”检查并执行代码。

if(true){
executeFirstButtonUse()
}else{
executeSecondButtonUse()
}

然后你将有 1 个片段,1 个视图,(1 个视图模型)。

我可以提供更多信息或代码,我可以提供更多细节或其他方法。

【讨论】:

  • 这在我看来像是一种反模式。 OP 应该在两个不同的 Fragment 类中膨胀相同的布局,就像在@Code-Apprentice 答案中一样。
  • 不知道这是可能的。好吧,谢谢你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-22
  • 2015-01-28
  • 2016-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多