Sheetal、
要求されたとして、次のように、私は上記のコードを使用します。
pager = (ViewPager)findViewById(R.id.pager);
imageAdapter = new MyPagerAdapter(this, pager, theResources, listOfIds.pageBitMapIds);
imageAdapter.setRecentListener(this);
pager.setAdapter(imageAdapter);
:
私FragmentActivityでは、私はのonCreate()メソッドに次の操作を行い
私のPagerAdapterで私は以下を行います:
@Override
public Object instantiateItem(ViewGroup container, int position) {
MyFragment myFragment = new MyFragment(resources, resourceIds[position], recentListener, position);
myFragments[position] = myFragment;
return super.instantiateItem(container, position);
}
@Override
public Fragment getItem(int position) {
return myFragments[position];
}
そして、前の私の答えでコードを使用します。
これは明らかに完全なコードではなく、実際のコードから変更されていますが、何をすべきか、どこで行うべきかについての良いアイデアが与えられます。
@Override
public void destroyItem(View collection, int position, Object o) {
Log.d("DESTROY", "destroying view at position " + position);
View view = (View) o;
((ViewPager) collection).removeView(view);
view = null;
}
これは、ガベージコレクションのためのImageViewのを解放する必要があります
マーク
アプリケーション・メモリーまたはSDカードにネットワークからロードするビットマップを格納していますか? – user936414
私はsdcardにビットマップを保存しています。 \t \t \t cacheDir =新しいファイル(sdDir、context.getString(R.string.cache_dir)); –
ページに表示する画像の数はいくつですか?ビューごとに1つの画像のみ? – user936414