平方X

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3177|回复: 0

[2435]用 WheelView 创建选择日期的问题

[复制链接]

414

主题

709

帖子

3657

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3657
QQ
发表于 2017-11-30 17:00:27 | 显示全部楼层 |阅读模式
[md]
我在 getItemView 中获取了日期,想传给外部使用,发生了错误。

①getItemView 不是获取的当前显示的view,它还包括前后要显示的view也一起获取的。
②onChangedListener 发生的时间
```

    public void setCurrentItem(int index, boolean animated) {
        if (viewAdapter == null || viewAdapter.getItemsCount() == 0) {
            return; // throw?
        }

        int itemCount = viewAdapter.getItemsCount();
        if (index < 0 || index >= itemCount) {
            if (isCyclic) {
                while (index < 0) {
                    index += itemCount;
                }
                index %= itemCount;
            } else {
                return; // throw?
            }
        }
        if (index != currentItem) {
            if (animated) {
                int itemsToScroll = index - currentItem;
                if (isCyclic) {
                    int scroll = itemCount + Math.min(index, currentItem) - Math.max(index, currentItem);
                    if (scroll < Math.abs(itemsToScroll)) {
                        itemsToScroll = itemsToScroll < 0 ? scroll : -scroll;
                    }
                }
                scroll(itemsToScroll, 0);
            } else {
                scrollingOffset = 0;
                //开始
                int old = currentItem;
                currentItem = index;

                notifyChangingListeners(old, currentItem);

                invalidate();
            }
        }
    }
```
可以看到先调用了 nofity 才调用的 invalidate  
不过已经对 currentItem 进行了赋值。[/md]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|平方X ( 冀ICP备14018164号 )

GMT+8, 2024-11-23 16:10 , Processed in 0.294973 second(s), 22 queries .

技术支持:Powered by Discuz!X3.4  © 2001-2013 Comsenz Inc.

版权所有:Copyright © 2014-2018 平方X www.pingfangx.com All rights reserved.

快速回复 返回顶部 返回列表