【问题标题】:How to save ViewPager FORM data onSwipe to next pager android如何将 ViewPager FORM 数据 onSwipe 保存到下一个寻呼机 android
【发布时间】:2016-11-22 15:23:59
【问题描述】:
在这里,我有一个带有 viewpager 的 Activity,它在适配器中有 FragmentA、FragmentB、FragmentC 和 FragmentD。
所有片段都有 FORM 数据。当我从 FragmentA 滑动到 FragmentB 时,我必须在 FragmentB 可见之前保存 FragmentA 的表单数据,并且从 FragmentB 滑动到 FragmentC 时,我必须在 FragmentC 可见之前保存 FragmentB 的表单数据。
这可能吗?如果是,该怎么做?
【问题讨论】:
标签:
android
android-fragments
android-activity
scroll
android-viewpager
【解决方案1】:
您可以在滑动到下一个片段时将这些详细信息保存在共享首选项中。用于刷卡
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");
我希望这可以帮助你。谢谢