如何从 Support V4 Fragment 获取父活动?

Posted

技术标签:

【中文标题】如何从 Support V4 Fragment 获取父活动?【英文标题】:How to get parent activity from Support V4 Fragment? 【发布时间】:2021-12-08 14:55:59 【问题描述】:

我是一个尝试在片段(位于选项卡布局内)和运行片段的活动之间传递数据的菜鸟。

我在这里找到了解决方案,但是我无法从片段中调用父活动。

Send data from activity to fragment in android

查找多个答案,他们都说同样的话

调用 getActivity()!!

Call parent's activity from a fragment

它不存在。我正在使用 Android.Support.V4.App.Fragment。

我可以访问 this.Activity 的属性,但是当它托管在 AppCompatActivity 上时,它会调用随机的 FragmentActivity。

如何从支持 Fragment 访问我的托管 AppCompatActivity?

【问题讨论】:

AppCompatActivity 扩展FragmentActivity。是什么让您认为返回的活动不是您的实际活动? 对 xamarin 的工作方式感到困惑。我的 AppCompatActivity 称为 NewActivity。当我调用 (NewActivity)this.Activity.setOnBundleSelected() 时,尽管它是公开的,但它无法访问 setOnBundleSelected() 方法。但是,当我将它称为 (this.Activity as NewActivity).setOnBundleSelected() 时,我现在可以使用它,所以也许我只是感到困惑。谢谢。 【参考方案1】:

我建议使用视图模型在活动和片段之间传递数据

【讨论】:

谢谢,有没有关于视图模型的可用资源,我可以从中了解更多信息,您可以推荐。试图弄清楚任何事情非常令人沮丧,因为我花了几天时间阅读,尝试实施它,并发现它已经过时多年了。我觉得我不断地学习同一事物的变体 5 次,但我仍然不知道正确的方法。

以上是关于如何从 Support V4 Fragment 获取父活动?的主要内容,如果未能解决你的问题,请参考以下文章

cannot be cast to android.support.v4.app.Fragment

为啥此错误显示“不兼容的类型”。 “必需:android.support.v4.app.Fragment”?

我的片段无法转换为 android.support.v4.app.Fragment

Android Studio 和 android.support.v4.app.Fragment:无法解析符号

typeanumber 中的错误 - 无法解析 android.support.v4.app.fragment

搞清android.support.v4.app.Fragment和android.app.Fragment区别