gpt4 book ai didi

android - onPageSelected 在 vi​​ewPager.setCurrentItem 上被静态调用

转载 作者:行者123 更新时间:2023-11-29 01:56:01 30 4
gpt4 key购买 nike

对于我的项目,我使用可滑动的选项卡在列表之间导航。当删除其中一个列表时,我希望有一个流畅的动画并尝试通过使用 viewpager.setCurrentItem(page, true); 来存档它,以便在删除列表之前首先切换到另一个页面。然后我尝试在切换页面后捕获事件以使用 OnPageChangeListener 删除列表。

我的问题是似乎在动画完成之前调用了 onPageSelected(int position)

这是代码:)

我在哪里开始动画:

case R.id.menu_clear_lists:
int pageAmount = sectionsPagerAdapter.getCount();
if (pageAmount < 2)
return false;
int page = viewPager.getCurrentItem();
int newPage = page == 0 ? page + 1 : page - 1;
deleteOnChange = true;
deletePage = page;
viewPager.setCurrentItem(newPage, true);
return true;

事件处理器:

if (!deleteOnChange)
return;
deleteOnChange = false;
Resource.deleteList(deletePage);
sectionsPagerAdapter.destroyItem(viewPager,
viewPager.getCurrentItem(),
sectionsPagerAdapter.getItem(deletePage));
sectionsPagerAdapter.notifyDataSetChanged();

我希望有人能解决我的问题:)

最佳答案

http://developer.android.com/reference/android/support/v4/view/ViewPager.OnPageChangeListener.html

如果查看 ViewPager 的 OnPageChangeListener,您会看到一个 onPageScrollStateChanged 方法。如果您在监听器上覆盖它,您可以等待它发送“SCROLL_STATE_IDLE”作为参数,这意味着页面已经稳定并处于静止状态。不过要小心,因为如果用户开始滚动但实际上并没有转到新页面,你就会安顿下来,它会在当前页面上。您可能希望同时使用 onPageSelected 和 onPageScrollStateChanged 来跟踪页面是否已翻过,以及是否已翻完。

关于android - onPageSelected 在 vi​​ewPager.setCurrentItem 上被静态调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15094492/

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