以下に示すように、viewPager アダプターを設定するアクティビティがあります。
public class ViewPagerAdapter extends FragmentPagerAdapter {
private int pagerLength;
private HashMap<Integer, String> mFragmentTags;
private FragmentManager mFragmentManager;
String page = "Page";
public ViewPagerAdapter(FragmentManager fm, int numPage) {
super(fm);
mFragmentManager = fm;
pagerLength = numPage;
mFragmentTags = new HashMap<Integer, String>();
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
Object obj = super.instantiateItem(container, position);
if(obj instanceof Fragment) {
Fragment f = (Fragment) obj;
String tag = f.getTag();
mFragmentTags.put(position, tag);
}
return obj;
}
@Override
public Fragment getItem(int index) {
ImageFragment imageFragment = (ImageFragment)Fragment.instantiate(ImageActivity.this, imageFragment.class.getName(), null);
return imageFragment;
}
@Override
public int getCount() {
return pagerLength;
}
public Fragment getFragment(int position) {
String tag = mFragmentTags.get(position);
if (tag == null) {
return (Fragment)instantiateItem(mViewPager, position);
}
Fragment fragment = mFragmentManager.findFragmentByTag(tag);
return fragment;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
mFragmentTags.remove(position);
super.destroyItem(container, position, object);
}
@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return "TESTING"; //Remove later
}
}
ImageFragment は、そのレイアウトに imageView を持つ単なるフラグメントではありません
今、アクティビティのフラグメントの imageView に画像を設定したいのですが、どうすればいいですか?
アクティビティで fn update を作成し、imageUrl を update という関数にフラグメントで渡そうとしました。問題は、フラグメントの update() が呼び出されて画像の URL を受け取るが、フラグメントの onCreateView() が呼び出されないことです。