我读了很多关于片段的文章,但我仍然对如何做什么感到困惑。
我有一个 MainActivity,它并排显示两个片段。在其中一个片段中,我有一个按钮,并在该按钮的片段布局 XML 中定义
android:onClick="buttonClicked"
现在我想实现这个方法
public void buttonClicked(View view)
我认为这必须在 FragmentA.java 中实现,而不是在 MainActivity.java 中实现。但只有在 MainActivity.java 中实现该方法时它才有效。这是为什么?对我来说这没有意义。在蜂窝之前,属于一个活动的方法留在该活动中,现在在平板电脑上我将许多活动合并到一个 MainActivity 中,并且所有不同的方法都被合并?那么你在 FragmentA.java 中放了什么?如果您必须启动一个自己的活动,因为该应用程序在手持设备上运行,那么 onClick 方法不必位于 MainActivity 中,而是位于需要调用的 Activity 中,该怎么办?我现在很困惑...
我不确定具体问题是什么,但这也许会有所帮助。
来自 Android 文档Fragment
s:
您应该将每个片段设计为模块化且可重用的活动组件。也就是说,因为每个片段都通过自己的生命周期回调定义了自己的布局和自己的行为,所以您可以在多个活动中包含一个片段,因此您应该进行重用设计,并避免直接从另一个片段操作一个片段。
也就是说,您永远不应该从另一个片段操作一个片段;相反,这应该通过底层 Activity 来完成。阅读本节中的“创建活动的事件回调”部分article了解更多信息(这很重要!!)。
另一方面,如果您希望按钮在范围内执行操作Fragment
本身(即如果你想要一个Button
单击以更改 a 的文本TextView
在片段内),你应该在Fragment
,不是Activity
(这是因为所产生的行为包含在Fragment
与父母无关Activity
).
发表评论,我可以澄清我的帖子是否令人困惑......我最近才开始理解Fragment
是我自己:)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)