我有3个片段通过ViewPager
包含在主要活动中。我想要做的是允许自己在主要活动中的不同生命周期回调中调用这些片段类的对象上的方法,即onRestart()
,以便我可以通过后端调用刷新其内容。更具体地说,其中一个片段包含一个"实时馈送"人们发布的图像,用户通过其中一个片段进入此发布活动。
目前,我试图解决的问题是,当用户进入此发布活动并张贴图片时,他们返回的片段中的实时Feed不会刷新。为此,我需要在主要活动onRestart()
中调用该片段中的后端和UI更新方法。
但是我遇到了这些空指针异常 - 这里是代码在代码片段中的样子:
public void refreshUI(){
activity = getActivity();
appContext = ThisApp.appContext();
view = getView();
peopleHeader = (TextView) view.findViewById(R.id.people_header);
peopleLinearLayout = (LinearLayout) view.findViewById(R.id.local_people_linearlayout);
..... (various other instantiations)... }
NPE来自getActivity()
或某些UI实例。我从onActivityCreated()
调用此代码,它按预期工作。但是,如果我尝试在onRestart()
的片段对象上再次调用此代码,则会崩溃。
发生了什么?无法弄清楚为什么这会对我不利。
非常感谢。