NumberPicker 对非 SDK 接口的限制

问题描述

我正在尝试创建一个这样的自定义 NumberPicker。

Class<?> numberPickerClass = null;
        try {
            numberPickerClass = Class.forName("android.widget.NumberPicker");
        } catch (ClassNotFoundException e) {
            e.printstacktrace();
        }

        Field selectionDivider = null;
        try {
            if (numberPickerClass != null) {
                selectionDivider = numberPickerClass.getDeclaredField("mSelectionDivider");
            }
        } catch (NoSuchFieldException e) {
            e.printstacktrace();
        }

        if (selectionDivider == null) {
            return;
        }

        try {
            selectionDivider.setAccessible(true);
            selectionDivider.set(this,null);
        } catch (IllegalArgumentException e) {
            e.printstacktrace();
        } catch (Resources.NotFoundException e) {
            e.printstacktrace();
        } catch (illegalaccessexception e) {
            e.printstacktrace();
        }
    }

但是,从 API29 开始,Android 正在限制对非 SDK 接口的访问。他们建议改用 set/getDividerHeight。但我对 Android 非常陌生,我不确定如何更新我的代码。任何人都可以帮忙吗?谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)