作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个问题,如果我在字段外按下/触摸 fieldChanged()
为具有焦点的字段触发事件。
我的 MainScreen
的布局很简单,就像这样:
public class myMainScreen extends MainScreen implements FieldChangeListener{
public myMainScreen(){
CustomFM1 fm1 = new CustomFM1();
CustomFM2 fm2 = new CustomFM2();
add(fm1);
add(fm2);
}
}
FieldManager
内的按钮/字段它工作正常。问题是当我按下空白空间时。因此,如果我要按
fm2
中的空白区域和
Field
里面
fm1
有了焦点,它的 fieldchanged 事件就会被触发。
touchEvent
并将其传递给适当的
FieldManager
.
touchEvent
对于我的
CustomFM
然后将处理获取该字段并调用 fieldChanged,如果一个字段实际上已被按下
myMainScreen
触摸事件看起来像:
protected boolean touchEvent(TouchEvent message){
int index = this.getFieldAtLocation(message.getX(1), message.getY(1));
switch(index){
case 0:
fm1.touchEvent(message);
break;
case 1:
fm2.touchEvent(message);
break;
}
return true;
}
touchEvent
因为我的 CustomFM2 是。
OFFSET
是 fm2 相对于屏幕的顶部 y 位置。
protected boolean touchEvent(TouchEvent message){
switch(message.getEvent()){
...
case TouchEvent.UP:
int index = this.getFieldAtLocation(message.getGlobalX(1), message.getGlobalY(1) - OFFSET);
if(index != -1){
Field field = getField(index);
field.getChangeListener().fieldChanged(field, 0);
}
break;
}
return true;
}
最佳答案
只是有同样的问题。主要问题是navigationClick
和 trackwheelClick
如果在 touchEvent
中未使用触摸事件,则调用.
解决办法是调用fieldChangeNotify
在 *Click
内方法仅限 如果点击是由 触发的非触摸 事件。触摸事件的状态为 0,因此您可以按如下方式进行检查:
protected boolean navigationClick( int status, int time ){
if (status != 0) fieldChangeNotify(0);
return true;
}
protected boolean trackwheelClick( int status, int time ){
if (status != 0) fieldChangeNotify(0);
return true;
}
关于BlackBerry touchEvent 外场触发 fieldChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6398282/
我有一个问题,如果我在字段外按下/触摸 fieldChanged()为具有焦点的字段触发事件。 我的 MainScreen 的布局很简单,就像这样: public class myMainScreen
我需要格式化用户在 EditField 上输入的字符串。这是我的代码: input = new BorderedEditField(20, BasicEditField.FILTER_NUMERIC)
这是我的父 View 模型和 View 。 export class Parent { @observable field; fieldChanged() { console.log(
我是一名优秀的程序员,十分优秀!