मैं FragmentPagerAdapter में खंडन का पुन: उपयोग करने में सक्षम नहीं हूँ .. विध्वंस () विधि का उपयोग करके, यह खंड को हटा रहा है, लेकिन फिर भी getItem () को फिर से नहीं बुलाया जाता है। केवल 2-3 छवियां हैं इसलिए मैं FragmentStatePagerAdapter के बजाय FratmentPagerAdapter का उपयोग कर रहा हूं ..
public class ExamplePagerAdapter extends FragmentPagerAdapter {
ArrayList < String > urls;
int size = 0;
public ExamplePagerAdapter(FragmentManager fm, ArrayList < String > res) {
super(fm);
urls = res;
size = urls.size();
}
@Override
public int getCount() {
if (urls == null) {
return 0;
} else {
return size;
}
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
FragmentManager manager = ((Fragment) object).getFragmentManager();
FragmentTransaction trans = manager.beginTransaction();
trans.remove((Fragment) object);
trans.commit();
}
@Override
public Fragment getItem(int position) {
Fragment fragment = new FloorPlanFragment();
Bundle b = new Bundle();
b.putInt("p", position);
b.putString("image", urls.get(position));
Log.i("image", "" + urls.get(position));
fragment.setArguments(b);
return fragment;
}
}
और फ्रैगमेंटएक्टिविटी में,
pager.setAdapter(new ExamplePagerAdapter(getSupportFragmentManager(), res2));
destroyItem()
? यह आवश्यक नहीं है।