Java 如何获取NumberPicker小部件的值?

Java 如何获取NumberPicker小部件的值?,java,android,reflection,android-widget,Java,Android,Reflection,Android Widget,我正在寻找一个类似于Android上日期控件中使用的数字,并发现以下问题: 按照这个例子,我可以得到我想要的控件-耶!问题是我不知道如何获得用户选择的值?通常我会设置一个on change监听器并感到高兴,但是如何创建一个实现内部接口com.android.internal.widget.NumberPicker$OnChangedListener?是否有其他方法获取当前选择?检查。。。你需要一个听众吗getCurrent应该为您提供该值。有了反射,它会是这样的: Method m = c.g

我正在寻找一个类似于Android上日期控件中使用的数字,并发现以下问题:

按照这个例子,我可以得到我想要的控件-耶!问题是我不知道如何获得用户选择的值?通常我会设置一个on change监听器并感到高兴,但是如何创建一个实现内部接口
com.android.internal.widget.NumberPicker$OnChangedListener
?是否有其他方法获取当前选择?

检查。。。你需要一个听众吗
getCurrent
应该为您提供该值。有了反射,它会是这样的:

Method m = c.getMethod("getCurrent");
int value = (Integer) m.invoke(o, foo);

编辑:您可以实现通过反射获得的接口,请参阅。

不要使用私有API。我们不会限制您这样做,但您的代码很可能会在未来的平台版本上,甚至在制造商定制产品的同一平台版本的设备上被破坏。这一点很好-因为我只是在编写一个测试项目,所以我不必担心这一点。OTOH也许我应该使用另一种输入值的方式。谢谢-我找到了一个包含此类javadoc信息的网站,但它没有getCurrent方法。我从你的链接上看到了。我到家后会试试你的建议。工作很有魅力。作为记录,我只是在玩这个,不会把这样的代码投入生产,因为adamp说这样使用私有API是不好的。