Android NumberPicker不保存编辑文本更改
我已经将Android的NumberPicker小部件复制到我自己的应用程序中,但我有一个问题Android NumberPicker不保存编辑文本更改,android,android-widget,Android,Android Widget,我已经将Android的NumberPicker小部件复制到我自己的应用程序中,但我有一个问题 当有人手动单击编辑文本并通过键盘对其进行更改时,所选内容不会保存。我是否可以实现一些侦听器来检查用户是否手动更改EditText以将其设置为当前文本?或者什么?您可以尝试将TextWatcher设置为您的EditText以执行相同的操作,或者不允许用户在此处手动输入值 或者保留一个OK按钮,仅当用户单击OK按钮时才从EditText中取出值 你试过这个样品吗 不确定您是否使用了与我相同的Numberp
当有人手动单击编辑文本并通过键盘对其进行更改时,所选内容不会保存。我是否可以实现一些侦听器来检查用户是否手动更改EditText以将其设置为当前文本?或者什么?您可以尝试将TextWatcher设置为您的EditText以执行相同的操作,或者不允许用户在此处手动输入值 或者保留一个OK按钮,仅当用户单击OK按钮时才从EditText中取出值 你试过这个样品吗
不确定您是否使用了与我相同的Numberpicker:。我尝试在NumberClass中添加一个OnEditorActionListener,似乎它解决了我的问题
- 修改NumberPicker.java,让它扩展OnEditorActionListener
- 添加mText.setOnEditorActionListener(此)到NumberPicker构造函数
- 实施一个编辑操作:
@Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { validateInput(v); return false; }
希望它能有所帮助。我在使用numberpicker时也遇到了同样的问题,我通过在numberpicker类中添加OnKeyListener(而不是Junzi已经建议的OnEditorActionListener)解决了这个问题。其他步骤相同,因此:
我用了迈克尔·诺瓦克的号码选择器。尽管onEditorAction已经实现,但它没有正确设置输入。对我来说,最简单的解决方法是在getCurrent中调用textView上的validateInput
/**
* @return the current value.
*/
public int getCurrent() {
validateInput(mText);
return mCurrent;
}
如果您使用Android4.0.x中的Android NumberPicker,意味着您可以使用getValue()获取NumberPicker的值。 () 这是一种在安卓4.0.x中获取Numberpicker的简单方法
final NumberPicker np=新的NumberPicker(CustomizedListView.this);
np.setMinValue(0);
np.setMaxValue(100);
np.setWrapSelectorWheel(真)代码>
您可以使用np.getValue()方法获取值。我在android开发者google group的某个地方发现了这个解决方案:
对于android SDK NumberPicker小部件,只需使用:
myNumberPicker.clearFocus();
在你试图得到它的价值之前。
当您有一个活动只有NumberPicker和一个按钮或微调器,并且您编辑它并尝试单击其他位置时,它的onFocusChangedListener未被正确处理。因此,在使用getValue()之前,只需强制它失去焦点。工作对我来说很有魅力。是的,这正是我如何在NumberPicker上复制的。遗憾的是,我希望用户能够手动输入他们的分数。您是否尝试将文本监视程序设置为您的EditText。。?检查这个帖子很好。。。为我工作。这是设计的,但实施得很差。您必须使用键盘提交值。
myNumberPicker.clearFocus();