Coder Social home page Coder Social logo

Comments (4)

guominfang avatar guominfang commented on June 8, 2024

实际问题,是滑动状态错误

from datetimepicker.

loper7 avatar loper7 commented on June 8, 2024

不太理解你说的意思
如果你想在任何时候获取picker的值 可以通过picker.value 来获取

from datetimepicker.

guominfang avatar guominfang commented on June 8, 2024

场景是这样的:
需求:在控件滑动切换结束时,获取当前值的。

方案1: 我设置了setOnScrollListener来监听控件的滑动状态,但是,当前我通过点击,控件会自动切换下一项,但是没有触发scrollListener回调

方案2: 通过设置setOnValueChangedListener,来监听最新值,但是这个回调太频繁,而且这里有问题,例如:原本是选项是2,通过点击切换,最新值会回调:3->2->3,回调三次

所以,有什么方案可以获取到,控件停止滑动时,当前的值吗

`

    binding.dateTimePicker2.setOnScrollListener((view, scrollState) -> {
        Log.d("gmf", "showStreamerdelayCl2: scrollState=" + scrollState);
        Log.d("gmf", "showStreamerdelayCl2: " + view.getValue());
        if (scrollState == SCROLL_STATE_FLING) {
        }
    });

    binding.dateTimePicker2.setOnValueChangedListener((picker, oldVal, newVal) -> {
                Log.d("gmf", "showStreamerdelayCl2: oldVal= " + oldVal);
                Log.d("gmf", "showStreamerdelayCl2: newVal=" + newVal);
                Log.d("gmf", "showStreamerdelayCl2: newVal=" + (int) (newVal / 2f * 1000));
            }
    );

`

from datetimepicker.

loper7 avatar loper7 commented on June 8, 2024

这个目前没有很好的方法解决,如果你接受不了方案二频繁回调的话,我的建议是自己使用numberpicker类似的控件替换掉控制器内的numberpicker,因为仓库内的numberpicker是基于android number picker来修改的,这段时间比较忙,所以可能没有充足的时间来更新。
在手动点击触发值发生变更的时候调一下onScrollStateChange,这样应该可以比较友好的处理方案1的问题,你有时间的话,可以pull代码修改自己使用~

from datetimepicker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.