Bigkoo / Android-PickerView

This is a picker view for android , support linkage effect, timepicker and optionspicker.(时间选择器、省市区三级联动)
Apache License 2.0
13.42k stars 3.44k forks source link

滚动项显示异常 #994

Closed yecaler closed 2 years ago

yecaler commented 2 years ago

使用版本: implementation 'com.contrarywind:Android-PickerView:4.1.9'

滚动项显示异常,操作视频如下: https://user-images.githubusercontent.com/25024969/132281213-76983ca9-dff6-4f18-b2f9-1777d99e7fcf.mp4

我的代码是这样写的: hourView = findViewById(R.id.wheelview_hour); minuteView = findViewById(R.id.wheelview_minute); hourView.setCyclic(false); List hourOptionsItems = new ArrayList<>(); for (int i = 0; i <= 72; i++) { hourOptionsItems.add(i + ""); }

    hourView.setAdapter(new ArrayWheelAdapter(hourOptionsItems));
    minuteView.setCyclic(false);
    List<String> minuteOptionsItems = new ArrayList<>();
    for (int i = 0; i < 60; i++) {
        minuteOptionsItems.add(i + "");
    }
    minuteView.setAdapter(new ArrayWheelAdapter(minuteOptionsItems));

    hourView.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(int index) {
            hour = Integer.parseInt(hourOptionsItems.get(index));
            if (hourOptionsItems.get(index).equals("72")) {
                List<String> minuteOptionsItems = new ArrayList<>();
                minuteOptionsItems.add(0 + "");
                minuteView.setAdapter(new ArrayWheelAdapter(minuteOptionsItems));
            } else {
                List<String> minuteOptionsItems = new ArrayList<>();
                for (int i = 0; i < 60; i++) {
                    minuteOptionsItems.add(i + "");
                }
                minuteView.setAdapter(new ArrayWheelAdapter(minuteOptionsItems));
            }
        }
    });
    minuteView.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(int index) {
            minute = Integer.parseInt(minuteOptionsItems.get(index));
        }
    });

请问是我代码的问题吗?求指点。

yecaler commented 2 years ago

已解决!设置这个就行! minuteView.setCurrentItem(0);

不过,跪求大佬总结个API文档和常犯错误文档。研究起来好难。

yecaler commented 2 years ago

找到文档了,是我瞎!对不起! https://github.com/Bigkoo/Android-PickerView/wiki/%E4%B8%AD%E6%96%87%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3%EF%BC%884.x%E7%89%88%EF%BC%89