【问题标题】:NumberPicker's onClick listener takes multiple clicks to recogniseNumberPicker 的 onClick 监听器需要多次点击才能识别
【发布时间】:2021-12-28 00:32:36
【问题描述】:

我想确保用户点击数字选择器中的值,一旦完成,我就会采取行动。我已经写了下面的代码。 numberPicker 是在 bottomSheetDialogFragment 中创建的。

nPicker.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
    NumberPicker p = v.findViewById(R.id.numberpicker_picker);
    Log.e("picker selected", ""+p.getValue());
}

上面的代码在一定程度上可以正常工作,但它必须在数字选择器上单击多次才能识别单击。

有谁知道这是为什么以及是否有解决方案?

【问题讨论】:

    标签: android numberpicker android-bottomsheetdialog


    【解决方案1】:

    您可能想使用onValueChangeListener()。该监听器可能会消耗点击次数,因此您的 onClick(View v) 不起作用。

    numberPicker.setOnValueChangedListener((numberPicker, oldValue, newValue) -> {
        Log.e("picker selected", ""+newValue);
    });
    

    【讨论】:

    • 我也在使用 valueChangeListener,但是当我点击选择器中的项目时,即使这样也不会打印日志。它需要大约 3-4 次点击才能通过。 (有时,在第一次点击时发生)
    猜你喜欢
    • 2021-02-26
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2021-10-13
    • 2016-06-08
    相关资源
    最近更新 更多