是否有一种特定的方式或特定的时刻,我可以在我的MainActivity中从片段中检索一个视图,确保该元素已经初始化了?
我当然在我的MainActivity中使用了findViewById()
方法但是如果片段尚未初始化则返回null,所以我试图在onStart()
中使用广播来调用MainActivity的初始化方法fragment方法,当应用程序启动时它可以工作,但是当屏幕旋转时,初始化方法返回null,应用程序崩溃为NullPointerException
。
答案 0 :(得分:1)
您需要在oncreateView()
中执行此操作View mView = inflater.inflate(R.layout.fragmentA, container, false);
而不是之后你可以得到这样的观点
textView = (TextView) mView.findViewById(R.id.textView);
现在您可以使用此视图。
答案 1 :(得分:0)
我的不好,现在我已经把所有改变片段视图的代码放在片段本身中了,我已经实现了接口,以便在Activity和Fragment之间进行正确的通信,这样我就可以修改内容视图而不用担心什么时候检索片段变量。对于这些最后我已经在inflater的onCreateView()方法中初始化它们并且它工作正常。