現在、メインのアクティビティにスレッドがあり、Web からダウンロードするものがあります。ダウンロードが完了したら、ViewPager 内の Fragments を更新する必要があります。
ダウンロードはサービスによって処理され、終了時にインテントをブロードキャストします。
したがって、基本的に、メインのアクティビティのコードは次のとおりです。
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
((PositionFragment)mPagerAdapter.getItem(0)).updateUI();
}
}
と私のPositionFragment:
public void updateUI() {
mActivity = getActivity();
これがどのようにnullになるのか、私には本当にわかりません。これは本当に簡単に聞こえますが、何かが欠けているに違いありません!
何か案が?
編集:私のアダプター:
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];
}
}