Android NumberPicker limits on Gingerbread

大城市里の小女人 提交于 2019-12-11 20:05:21

问题


I have a numberpicker:

  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();

This works fine on Android 4.0.x, but on Android 2.3.x I get

java.lang.NoSuchMethodError: android.widget.NumberPicker.setMaxValue

If I remove NP.setMaxValue(1000) and NP.setMinValue(1), it works but the limits are set as 0, is there any way to set the number picker limits on Android 2.3.x?


回答1:


As per the documentation, NumberPicker (and all its methods) are available only from API Level 11 (SDK 3.0). So if you want compatibility with 2.3.x, you need to have your own implementation. Luckily there is one already available here

Edit

The Internet has been not so gentle on the link above and it is no longer available. Even the alternatives suggested in the comments are also gone. You are better off writing your own.




回答2:


If you view the source code for the AOSP Messaging app on Github under the branch gingerbread-release, there is a NumPicker, written by Romain Guy that should allow you provide a NumberPicker to at least gingerbread.

If you copy the source code into your project, I would recommend dynamically choosing between that custom NumberPicker instance and the frameworks instance based on SDK version in order to use all of the new features and design based on the current API level.

Here is a link to the source code: https://github.com/android/platform_packages_apps_mms/blob/gingerbread-release/src/com/android/mms/ui/NumberPicker.java

I would recommend taking a peek around the project to get a fill of how to use it.



来源:https://stackoverflow.com/questions/10352425/android-numberpicker-limits-on-gingerbread

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!