onTouchListener在保持时是否不一致?

时间:2011-11-21 13:54:34

标签: android

我的文本字段附有onTouchListener。当我触摸文本时,会触发ACTION_DOWN,文本将从默认的白色变为黑色。然后我触发ACTION_UP被触发并且文本返回白色。

然而,现在当我触摸并按住文字变成黑色并保持这样时,我想要它,这样当我触摸并按住时,它应该变成黑色,然后再次变白,即使我的手指触摸它。

我该怎么做!?

我试过用这样的东西:

boolean clicked = true;

    textfield.setOnTouchListener(new OnTouchListener(){
        public void onTouch(View v, MotionEvent e){
           if(m.getAction() == MotionEvent.ACTION_DOWN){
             if(clicked){
                // do something
                clicked = false;
             }
           if(m.getAction() == MotionEvent.ACTION_UP){
                clicked = true;
           }
        }
    }

由于某种原因它不起作用!!

1 个答案:

答案 0 :(得分:1)

所以当你拿着文字时,你想让它变成黑色然后是白色(当你还在按住它时)?

您可以将延迟消息发布到Handler以更改ACTION_DOWN事件后的颜色x毫秒。您必须手动设置颜色,而不是依赖于文本颜色状态列表,因为这可能会干扰事物。