[英]Why does getActivity returns null in Fragment in ViewPager?
[英]Why does getActivity of my fragment returns null?
我目前在我的主要活动中有一个帖子下载东西frow web,然后我需要在下载完成后更新ViewPager中的Fragments。
下载由服务处理,并在完成后广播Intent。
所以,基本上,我的主Activity中的代码是:
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
((PositionFragment)mPagerAdapter.getItem(0)).updateUI();
}
}
和我的PositionFragment:
public void updateUI() {
mActivity = getActivity();
我真的不明白这是怎么回事。 这听起来很简单,但我必须遗漏一些东西!
任何的想法?
编辑:我的适配器:
public class PageAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
public PageAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}
@Override
public int getCount() {
return this.fragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return titles[position];
}
}
您的片段可能已与活动分离。 有关详细信息,请参阅此链接 。
只有在调用fragment的onAttach
方法后才能调用getActivity()
。 我相信,这就是问题所在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.