问题在使用上的滑动器移动的影响 [英] Issue while using moving effect on slider
问题描述
下面我用一个数值变化在滑块上的影响;如果我移动滑块,将滚动并在编辑栏,显示更新的值按滑块的运动。此外,还有一个编辑场效应那里的滑块应移动按进入编辑字段中的值;但它不工作。
当我注释掉的编辑场效应一部分,它工作正常,但是当我再次申请该编辑场效果,那么它是不工作...
//用于移动滑块
FieldChangeListener listenerslider1 =新FieldChangeListener(){ 公共无效fieldChanged(场场,诠释上下文){
尝试{ 如果(场== serumosmslider){ INT serumosmslidervalue = serumosmslider.getValue();
字符串strplasmaslidervalue =整数
的ToString(serumosmslidervalue);
edtserumosm.setText(strplasmaslidervalue); } }赶上(IllegalStateException异常五){ e.printStackTrace();
}赶上(NullPointerException异常五){
e.printStackTrace();
}
}
}; serumosmslider.setChangeListener(listenerslider1);
//为EditField中
FieldChangeListener listenereditslider1 =新FieldChangeListener(){ 公共无效fieldChanged(场场,诠释上下文){ hfmslider1.deleteAll();
。字符串stredtweight = edtserumosm.getText()的toString(); INT editweight =的Integer.parseInt(stredtweight); SliderField theSlider =新SliderField(slider2thumb,
slider2progress,slider2base,slider2thumbfoc,
slider2progressfoc,slider2basefoc,201,
editweight,10,10);
hfmslider1.add(theSlider);
hfmslider1.invalidate();
} }; edtserumosm.setChangeListener(listenereditslider1);
您似乎重新创建 SliderField
每次 EditField中
的价值变化。
SliderField theSlider =新SliderField(slider2thumb,
slider2progress,slider2base,slider2thumbfoc,
slider2progressfoc,slider2basefoc,201,
editweight,10,10);
hfmslider1.add(theSlider);
我不认为你想这样做。就像你的更新的的 EditField中
文本时滑块场的变化,我觉得你应该的更新的的<$ C $当 EditField中
文本更改C> SliderField 值。所以,这样的事情:
FieldChangeListener listenereditslider1 =新FieldChangeListener(){ 公共无效fieldChanged(场场,诠释上下文){ 如果(场== edtserumosm&放大器;&安培;!=背景FieldChangeListener.PROGRAMMATIC){ 。字符串stredtweight = edtserumosm.getText()的toString(); 尝试{
INT editweight =的Integer.parseInt(stredtweight);
serumosmslider.setValue(editweight);
}赶上(NumberFormatException的NFE){
// TODO:什么?
}
}
}};edtserumosm.setChangeListener(listenereditslider1);
Here i use a value changing effect on a slider; if i move the slider, it will scroll and display updated values in an edit field, as per the moving of the slider bar. Also, there is an edit field effect where the slider should be moved as per the values entered into the edit field; but it is not working.
When i comment out part of the edit field effect, it is working properly but when i apply that edit field effect again, then it is not working ...
// for slider move
FieldChangeListener listenerslider1 = new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
try {
if (field == serumosmslider) {
int serumosmslidervalue = serumosmslider.getValue();
String strplasmaslidervalue = Integer
.toString(serumosmslidervalue);
edtserumosm.setText(strplasmaslidervalue);
}
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
}
}
};
serumosmslider.setChangeListener(listenerslider1);
// for editfield
FieldChangeListener listenereditslider1 = new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
hfmslider1.deleteAll();
String stredtweight = edtserumosm.getText().toString();
int editweight = Integer.parseInt(stredtweight);
SliderField theSlider = new SliderField(slider2thumb,
slider2progress, slider2base, slider2thumbfoc,
slider2progressfoc, slider2basefoc, 201,
editweight, 10, 10);
hfmslider1.add(theSlider);
hfmslider1.invalidate();
}
};
edtserumosm.setChangeListener(listenereditslider1);
You appear to be recreating your SliderField
every time the EditField
's value changes.
SliderField theSlider = new SliderField(slider2thumb,
slider2progress, slider2base, slider2thumbfoc,
slider2progressfoc, slider2basefoc, 201,
editweight, 10, 10);
hfmslider1.add(theSlider);
I don't think you want to do that. Just like you update the EditField
text when the slider field changes, I think you should update the SliderField
value when the EditField
text is changed. So, something like this:
FieldChangeListener listenereditslider1 = new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
if (field == edtserumosm && context != FieldChangeListener.PROGRAMMATIC) {
String stredtweight = edtserumosm.getText().toString();
try {
int editweight = Integer.parseInt(stredtweight);
serumosmslider.setValue(editweight);
} catch (NumberFormatException nfe) {
// TODO: anything?
}
}
}
};
edtserumosm.setChangeListener(listenereditslider1);
这篇关于问题在使用上的滑动器移动的影响的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!