gpt4 book ai didi

android - 在 ViewPager 中动态跳过页面

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:48:40 24 4
gpt4 key购买 nike

我有一个 ViewPager,它通过 FragmentStatePagerAdapter 保存 Fragment。假设寻呼机最初包含以下页面( fragment ):

A - B - C - D

当用户滑动时,他可以从A移动到B BC 等。但是有些情况下,当用户在A页面上更改了一些选项,他可以不移动到B,而是移动到 C:

A - C - D

然后用户返回到 A,修改一些内容并重新启用 B:

A - B - C - D

我怎样才能实现这种非常动态的行为?当用户更改某些内容然后重新填充 ViewPager 时,我无法在任何时候添加 Fragment,因为它很慢并且会中断流程。

最佳答案

我们也有同样的情况,我们通过维护一个boolean ArrayList来解决这个问题。这里的页面是 fragment 。在 Fragment 上,我们编写了一个接口(interface)来更新 ArrayList。这个接口(interface)是在父 Activity 上实现的。在 ViewPager 的每次滑动中,我们都在检索 bool ArrayList。在 ViewPager 上,我们在 setOnPageChangeListener 中覆盖了 onPageSelected。

下面是一段代码:

pageIndicator.setOnPageChangeListener(new OnPageChangeListener() {

@Override
public void onPageSelected(int position) {
// TODO Auto-generated method stub

pagesPageBreakInfoList = activityContext.getBooleanList();
currentPageNumber = position;

if (!pagesPageBreakInfoList.get(position)) {
if (currentPageNumber > previouspagenumber) {
previouspagenumber = currentPageNumber;
if (numberofSubmodule == (position + 1)) {
viewPager.setCurrentItem(position - 1);
} else {
viewPager.setCurrentItem(position + 1);
}
} else {
previouspagenumber = currentPageNumber;
viewPager.setCurrentItem(position - 1);
}
} else {
previouspagenumber = currentPageNumber;
}
}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}

@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});

关于android - 在 ViewPager 中动态跳过页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19861445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com