Jac*_*ern 4 android android-fragments android-viewpager android-pageradapter
我通过像这样的片段填充视图寻呼机
pagerAdapter = new PagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.container);
for (int i = 0; i < 10; i++) {
newfragment fragobj = new newfragment();
fragobj.setArguments(bundle);
pagerAdapter.addFragment(fragobj, "Category");
}
mViewPager.setAdapter(pagerAdapter);
mViewPager.setCurrentItem(page);
Run Code Online (Sandbox Code Playgroud)
我希望清除所有碎片并在清除后添加新碎片.如果我现在添加新的片段,它会使用旧片段进行广告.
我尝试了很多堆栈溢出的答案,但没有一个能为我工作.
该片段已被删除并销毁.问题是观点.
只有这对我有用
myViewPager.setSaveFromParentEnabled(false);
Run Code Online (Sandbox Code Playgroud)
干杯!
小智 6
在 ViewPagerAdapter 中添加这个方法,当你想从 viewPager 中清除片段时调用它
public void clear() {
FragmentTransaction transaction = manager.beginTransaction();
for (Fragment fragment : mFragmentList) {
transaction.remove(fragment);
}
mFragmentList.clear();
transaction.commitAllowingStateLoss();
}
Run Code Online (Sandbox Code Playgroud)
mViewPager :是您用来设置 Fragment 的视图
mViewPager = (YourViewPager) findViewById(R.id.myPager);
Run Code Online (Sandbox Code Playgroud)
表:只是我所有片段位置的整数列表
public void destroyAllItem() {
int mPosition = mViewPager.getCurrentItem();
int mPositionMax = mViewPager.getCurrentItem()+1;
if (TABLE.size() > 0 && mPosition < TABLE.size()) {
if (mPosition > 0) {
mPosition--;
}
for (int i = mPosition; i < mPositionMax; i++) {
try {
Object objectobject = this.instantiateItem(mViewPager, TABLE.get(i).intValue());
if (objectobject != null)
destroyItem(mViewPager, TABLE.get(i).intValue(), objectobject);
} catch (Exception e) {
Log.i(TAG, "no more Fragment in FragmentPagerAdapter");
}
}
}
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
super.destroyItem(container, position, object);
if (position <= getCount()) {
FragmentManager manager = ((Fragment) object).getFragmentManager();
FragmentTransaction trans = manager.beginTransaction();
trans.remove((Fragment) object);
trans.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8560 次 |
最近记录: |