如何在主活动中正确检索片段中的视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在主活动中正确检索片段中的视图相关的知识,希望对你有一定的参考价值。

是否有特定的方式或特定的时刻,我可以在我的MainActivity中从片段中检索一个视图,确保该元素已经初始化?

我当然在我的MainActivity中使用了findViewById()方法但是如果片段尚未初始化它会返回null,所以我试图在onStart()片段方法中使用广播调用MainActivity的初始化方法,当应用程序启动时它可以工作但是当如果屏幕旋转,则初始化方法返回null,应用程序崩溃并使用NullPointerException

答案

你需要在你的oncreateView()中这样做

View mView = inflater.inflate(R.layout.fragmentA, container, false);

而且比你之后可以得到这样的观点

textView  = (TextView) mView.findViewById(R.id.textView);

现在您可以使用此视图。

另一答案

我的不好,现在我已经把所有代码都改变了片段本身的片段视图,并且我已经实现了Activity和Fragment之间正确通信的接口,所以我可以修改内容视图而不用担心在检索片段时变量。对于这些最后我已经在inflater的onCreateView()方法中初始化它们并且它工作正常。

以上是关于如何在主活动中正确检索片段中的视图的主要内容,如果未能解决你的问题,请参考以下文章

如何访问活动内部/从活动中的片段视图组件

如何在主片段中单击按钮时打开导航抽屉?

如何从活动中更改片段中视图的可见性

在片段中使用列表视图

如何使用导航从其他片段隐藏主机活动中的视图

如何将活动中的searchview的输入发送到该活动的视图寻呼机中的片段