如何从片段中获取视图?

时间:2014-08-14 16:56:22

标签: android android-fragments

从我的片段中,我需要使用findViewById()访问view元素。如果我通过调用this.getView().findViewById()获取视图引用,它可以工作,但是一旦我完成活动并再次尝试它停止工作。

我所做的是从LayoutInflater中保存View引用。它有效。

我想知道的是为什么它不像以前那样有效?如果在活动中,可以使用getView().findViewById().

访问视图

我有点困惑。

1 个答案:

答案 0 :(得分:1)

您可以使用getView(),但必须确保已创建视图,而在片段生命周期中并非总是如此。 它只应该来自OnCreateViewonDestroyView()的通货膨胀。

保存引用是一种好方法,但在访问之前始终检查null。 获得参考的好地方是onViewCreated。您可以在那里使用视图对象。

在这里查看更多生命周期洞察: http://www.silverbaytech.com/2014/03/24/android-fragment-lifecycle-in-detail/