textField触发事件不正确的疑问

textField输入字符进入输入法时,出现问题。
我的本意是,在点textField时,系统调用输入法,触发TEXTFIELD_EVENT_ATTACH_WITH_IME将颜色设为红色,
退出输入法时候,触发TEXTFIELD_EVENT_DETACH_WITH_IME将颜色设置成蓝色。这样提示输入比较显眼
但是在android真机中,点textField第一下,触发TEXTFIELD_EVENT_ATTACH_WITH_IME,再点一下textField时候

居然触发TEXTFIELD_EVENT_DETACH_WITH_IME,把颜色设置成蓝色了

这不应该呀!!!!!!!!???

代码如下:

void LoginScene::textFieldEvent(Ref pSender, TextFiledEventType type)
{
TextField
textField = dynamic_cast<TextField*>(pSender);
switch (type)
{
case TEXTFIELD_EVENT_ATTACH_WITH_IME:
{
textField->setColor(Color3B(255, 0, 0));
MoveBy* moveBy = MoveBy::create(0.1f, Point(5, 5));
textField->runAction(moveBy);
}
break;

case TEXTFIELD_EVENT_DETACH_WITH_IME:
{
textField->setColor(Color3B(0, 0, 255));
MoveBy* moveBy = MoveBy::create(0.1f, Point(-5, -5));
textField->runAction(moveBy);
}
break;

default:
break;
}
}

100浏览量,自己顶一下。可是,为什么没人回复????

void LoginScene::textFieldEvent(Ref pSender, TextFiledEventType type) Nx<z4zP
{ #%5 4i
TextField
textField = dynamic_cast<TextField*>(pSender); yw=zJpQ2
switch (type) 17^Z,–vU

???怎么帖子没完整

解决了吗 兄弟

就源码看不应该,textfield在onTouchBegan里面作了封装
if (_hitted)
{
_textFieldRenderer->attachWithIME();
}
else
{
this->didNotSelectSelf();
}
如果点中的话就会触发attach,没点中就detach,你看看第二次点击有没点中?

触发的顺序是不定的.
有可能是:
TEXTFIELD_EVENT_ATTACH_WITH_IME
TEXTFIELD_EVENT_DETACH_WITH_IME
TEXTFIELD_EVENT_ATTACH_WITH_IME
TEXTFIELD_EVENT_DETACH_WITH_IME
这样的话你的是正确的

但出现
TEXTFIELD_EVENT_ATTACH_WITH_IME
TEXTFIELD_EVENT_ATTACH_WITH_IME
TEXTFIELD_EVENT_DETACH_WITH_IME
TEXTFIELD_EVENT_DETACH_WITH_IME
你的代码就出问题了