gpt4 book ai didi

android - getItemPosition 应该在什么时候考虑项目位置的变化?

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

Android 的 PagerAdapter 类中的方法 getItemPosition 的文档指出它是:

Called when the host view is attempting to determine if an item's position has changed.

应该调用此方法来指示某个项目在该适配器的项目组中的位置是否已更改。

但是,它从未说明重写方法何时应考虑要更改的位置。这是否意味着该位置与上次调用项目 getItemPosition 时的位置不同?这是否意味着该项目的位置与上次调用 notifyDataSetChanged 时不同?或者这是否意味着该项目的位置与该项目添加到 viewPager 时的位置不同?

最佳答案

您可以在 ViewPager.java 中看到 getItemPosition 仅在 dataSetChanged 中被调用。这意味着如果项目的位置与上次调用 dataSetChanged 时不同,则该项目的位置已更改。

我不会太担心“改变”的意思;有两种情况:

  1. 添加的项目的位置永远不会改变,然后 getItemPosition 返回 POSITION_UNCHANGED;
  2. 项目的位置发生变化,或者项目被移除。如果项目位置没有改变,则返回 POSITION_UNCHANGED 或实际位置没有区别。因此,为了保持实现简单,您可以返回位置(或 POSITION_NONE)而忘记 POSITION_UNCHANGED..

关于android - getItemPosition 应该在什么时候考虑项目位置的变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10728076/

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