我尝试使用This Link中的代码创建多个片段向导页面。在第一个片段上有EditText and Next Button
。单击“下一步”按钮,我将禁用这些控件,然后导航到第二个片段(页面)。
现在,当我使用以下代码按下后退按钮时
mPager.setCurrentItem(mPager.getCurrentItem() - 1);
片段变回第一个活动。但EditText和Next按钮仍处于禁用状态。
我想在后退按钮点击时启用这些按钮。但是,在FirstFragment类的重写onResume()
,onStart()
,onViewStateRestored()
函数中没有得到任何调用。
答案 0 :(得分:0)
mPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if (position == 0) { // first fragment
// enable the views
}
if (position == 1) { // Second fragment
// disable the views
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
使用 onPageSelected 根据您所在的位置禁用和启用按钮
答案 1 :(得分:0)
当您通过寻呼机(取决于您的活动页面设置)时,片段实际上并未暂停或禁用,它仍然存在。更改页面时,应将事件从适配器发送到片段。