我无法让我的NumberPicker的编辑字段正常工作,我已经阅读了类似问题的几个有用的答案,但它们似乎都没有解决这个特定的问题.虽然增量和减量按钮可以正常工作,但如果我使用软键盘输入数字,我无法使用NumberPicker.getValue()方法检索该值.我已经尝试使用我自己的NumberPicker.OnValueChangedListener()但它不会被调用,除非我单击向上或向下按钮,而不是当我按下软键盘完成按钮时,如某些人所建议的那样.任何人都可以帮我吗?这是
Android的错误吗?
这是我的XML布局:
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/textView1" android:layout_weight="1" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_height="wrap_content" android:text="@string/enter_nights_" android:layout_width="0dp" android:padding="10dip" android:textColor="@color/black" ></TextView> <NumberPicker android:id="@+id/numPick" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
和我的Activity onCreate()中的初始化代码:
mNumNights = (NumberPicker) findViewById(R.id.numPick); mNumNights.setMinValue(1); mNumNights.setMaxValue(99); mNumNights.setValue(mNights); mNumNights.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { @Override public void onValueChange(NumberPicker picker,int oldVal,int newVal) { // do something here Log.d(TAG,"Number of Nights change value."); } });
从Activity中退出时,我得到的值如下:
mNights = mNumNights.getValue();
我在Android NumberPicker documentation中没有看到任何其他方法.我确实看到post建议挂钩onEditorActionListener()来获取完成按钮,但是这并没有告诉我如何获取值!总而言之,我的问题是如何获取值以及为什么NumberPicker不会自动更新其值?
谢谢!
编辑:我偶然发现了这个与我的问题非常相似的SO question,那里的答案看起来很有帮助,虽然我希望有一个比那里更好的方法.