【问题标题】:Android : OnViewCreated called but fragment not visibleAndroid:调用了 OnViewCreated 但片段不可见
【发布时间】:2013-11-01 12:49:21
【问题描述】:

所以,又是我,进一步处理我的动态用户界面,似乎我几乎达到了一个点,成功的效果应该出现。但现在我的脚步更小了,我慢慢地走向一个里程碑。

我们仍在谈论基于 fragmentManager 和 Fragments 的完全动态创建的 UI,它们本身填充了一些子元素,如文本视图、按钮、表格列等等。

根据我的 oo 设计,我有一个控制器类,它是我的片段活动的唯一且唯一的实例成员。

controller 的构造函数获取作为参数传递的片段活动的活动引用,以便创建 FragmentManager 并全局保存它。

控制器实例化一个自定义类的对象,该类派生自fragment。

重载的构造函数被正确调用,调用base ctor并做一些其他的事情。

然后我将对象添加到片段管理器中,该片段管理器是在传递的活动的帮助下通过启动事务并提交它在控制器的ctor中创建的。

控制器离开,流程返回到mainactivity,我在最后发出setcontentview。

然而,onCreateView 被执行,oViewCreated 被执行,在这里我定义了我的布局和背景色以及一个测试按钮。然后我把所有的东西都很好地放到了 ui 上。 正如在控制器类中使用片段派生测试的那样,这很有效。 但是现在,在或多或少的真实情况下,我看不到片段。 在 cotroller 中提交后,我还会再次发出 detach 和 attach 以强制重绘。

我想,我必须在某个地方传递原子引用。这可能吗?

提前 THX。

编辑:已解决。

删除这个?

【问题讨论】:

  • 抱歉,已解决。必须实现 onViewCreate 的覆盖以便首先处理,然后 onViewCreated 也将被处理。谁知道,为什么。
  • 但我仍然没有在屏幕上看到我的“在我的 oo 层次结构中相对较深地插入”片段。通过 onCreateView 返回 container.getRootView 会不会出错?因为当时我没有别的看法。
  • 我应该创建一个名为“为什么在屏幕上仍然看不到我的片段”的新片段吗?会泛滥,我想...那为什么不坚持这个呢?
  • 有四个或五个 sn-ps。还提供吗?
  • 好的,只是确保,您愿意检查 5 个 sn-ps。它们很快就会添加到我的问题中。

标签: java android android-fragments android-2.2-froyo dynamic-ui


【解决方案1】:

我回答了我自己的问题(也许其他人也有类似的问题)并且想知道我的方法是否可行:

被覆盖的事件处理程序 onCreateView 必须返回 new View(getActivity());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 2017-01-05
    • 2023-03-06
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多