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

问题描述 投票:-1回答:2

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

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

java android android-fragments nullpointerexception findviewbyid
2个回答
1
投票

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

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

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

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

现在您可以使用此视图。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.