【问题标题】:Identify the fragment a view belongs too [closed]识别视图所属的片段[关闭]
【发布时间】:2020-07-31 01:42:49
【问题描述】:

我在我的应用程序中使用片段来动态添加或删除输入 ui 元素,就像联系人应用程序处理电话号码、电子邮件等一样。但是我似乎无法弄清楚如何删除片段.

每个片段的添加/删除按钮是片段本身的一部分,并调用父活动中的 onClick 方法,该方法将按钮视图作为单个参数。我检查按钮的背景图像以确定要执行、添加或删除的操作。

添加效果很好,因为我只是创建了一个新的 MyFragment 对象,将其添加到数组中,然后使用片段管理器显示片段。

但是,对于删除,我找不到任何可以让我识别调用按钮属于哪个片段的内容。我需要知道要从我的数组中删除什么片段,并且能够使用片段管理器来定位特定片段。有什么方法可以获取 onClickview 参数的包含片段?

【问题讨论】:

  • 这个问题需要一些代码供任何人查看。

标签: android android-fragments fragment


【解决方案1】:

当使用Fragment 1.2.1或更高版本时,您可以使用FragmentManager.findFragment(vew)view.findFragment()的Kotlin扩展(在fragment-ktx中)来获取包含的Fragment。

如果您还没有对正确 FragmentManager 的引用,则可以从那里使用 getParentFragmentManager() 获取 Fragment 附加到的 FragmentManager

【讨论】:

  • 我一直在为 android 文档苦苦挣扎,因为太专注于视图,以至于我错过了 FragmentManager 函数。当然,它也更有意义。这当然很好用,谢谢。
猜你喜欢
  • 1970-01-01
  • 2013-06-07
  • 1970-01-01
  • 2010-10-18
  • 1970-01-01
  • 2014-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多