我有一个数字选择器:
AlertDialog alertDialog = builder.create();
alertDialog.setTitle("Quantidade");
NumberPicker NP = (NumberPicker)view.findViewById(R.id.npicker);
NP.setMaxValue(1000);
NP.setMinValue(1);
alertDialog.setButton(...);
alertDialog.show();
这在Android 4.0.x上运行正常,但在Android 2.3.x上我得到了
java.lang.NoSuchMethodError: android.widget.NumberPicker.setMaxValue
如果我删除NP.setMaxValue(1000)
和NP.setMinValue(1)
,它可以正常工作,但限制设置为0,有没有办法在Android 2.3.x上设置数字选择器限制?
答案 0 :(得分:2)
根据文档,NumberPicker
(及其所有方法)仅可从API Level 11(SDK 3.0)获得。因此,如果您想要与2.3.x兼容,则需要拥有自己的实现。幸运的是,已有一个here
修改强>
互联网在上面的链接上并不是那么温和,它已不再可用。甚至评论中提出的备选方案也已消失。你最好自己写。
答案 1 :(得分:0)
如果你在Github上查看姜饼释放分支下的AOSP Messaging应用程序的源代码,那么有一个由Romain Guy编写的NumPicker,它应该允许你为至少姜饼提供一个NumberPicker。
如果将源代码复制到项目中,我建议在该自定义NumberPicker实例和基于SDK版本的框架实例之间动态选择,以便使用所有新功能并根据当前API级别进行设计。 / p>
我建议您浏览一下项目,了解如何使用它。