Android 如何在每次选择页面时在ViewPager中重新加载片段?

Android 如何在每次选择页面时在ViewPager中重新加载片段?,android,android-fragments,android-viewpager,Android,Android Fragments,Android Viewpager,我正在使用mviewpage.setOnPageChangeListener来检测用户何时导航到特定页面。每次他导航到此特定页面时,我都必须重新加载片段,或者将其返回到原始状态 我尝试使用replace,但应用程序在第一个参数上中断,该参数是ViewPager本身 android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager(); android.support.v4.app.Fragment

我正在使用
mviewpage.setOnPageChangeListener
来检测用户何时导航到特定页面。每次他导航到此特定页面时,我都必须重新加载
片段
,或者将其返回到原始状态

我尝试使用
replace
,但应用程序在第一个参数上中断,该参数是
ViewPager
本身

android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
MyFragment fragment = new MyFragment();
fragmentTransaction.replace(R.id.viewPager, fragment);
fragmentTransaction.commit();
我试图使用
适配器
本身,但我被带到了死胡同


我哪里出错了?如何在用户每次导航到特定页面时重新加载片段?

尝试fragmentTransaction.detach(片段);碎片事务。附加(碎片);您可以对每个片段实现重新加载/重置方法,并在每次选择新页面时调用该方法。失败错误的设计原则。当用户翻页时,你的应用程序会结巴。正确的设计模式是在屏幕外的页面刷新它们。@danny117我也可以这样做。我现在没有想到性能,而是想到如何克服崩溃。谢谢你的建议。我通过片段中的public方法完成了这项工作,该方法将值重置为默认值。但我仍在等待一个“更好”的方式,这一个似乎像黑客。