这里,我有一个带有viewpager的Activity,它在适配器中有FragmentA,FragmentB,FragmentC和FragmentD。
所有碎片都有FORM数据。当我从FragmentA滑动到FragmentB时,我必须在FragmentB可见之前保存FragmentA的表格数据,并且当从FragmentB滑动到FragmentC时我必须以相同的方式在FragmentC可见之前保存FragmentB的表格数据。
这可能吗?如果是的话,怎么做?
答案 0 :(得分:0)
您可以在滑动到下一个片段时将这些详细信息保存在“共享”偏好设置中。用于滑动
viewPagerBanner.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
private static final float thresholdOffset = 0.5f;
private boolean scrollStarted, checkDirection, check;
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (checkDirection) {
if (thresholdOffset > positionOffset && position == 0) {
check = true;
} else {
check = false;
}
checkDirection = false;
}
}
@Override
public void onPageSelected(int position) {
currentPosition = position;
}
@Override
public void onPageScrollStateChanged(int state) {
// You can save current form fields here
}
}
});
共享偏好
SharedPreferences sharedHead = context.getSharedPreferences("UniqueName", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedHead.edit();
editor.putInt("name", "Developer");
editor.apply();
读取这些数据最后一个片段
String name = sharedHead.getInt("name", "noName");
我希望这对你有帮助。谢谢