本人在做个手机版的记事本时    发现在onTouch 和 onClick 中想得到他们事件发生的位置时   发现总是得到的上次事件发生的位置     本次的得不到     还有就是onTouch 中的MotionEvent.ACTION_DOWN   MotionEvent.ACTION_MOVE  MotionEvent.ACTION_UP 这几个事件能否得到事件发生的精确的位置另外 MotionEvent中的 ACTION_POINTER_1_DOWN  ACTION_POINTER_2_DOWN  ACTION_POINTER_1_UP  ACTION_POINTER_2_UP
这几个是啥意思阿 哪位大侠为小弟解惑  谢谢了

解决方案 »

  1.   

    首先分析onTouch事件:
    public boolean  onTouchEvent  (MotionEvent event)
    在MotionEvent中提供了  getX()以及getY()方法,由此可以提供准确的点击位置。其次MotionEvent中各个事件:
    ACTION_POINTER_1_DOWN ACTION_POINTER_2_DOWN都是重复定义,最后发的消息都是ACTION_POINTER_DOWN。
    其他同理。建议楼主读一下doc中,关于View以及MotionEvent的章节,有详细解释。
      

  2.   


    首先 谢谢这位老兄 
    我用的就是getX()和getY()方法  经本人测试在onTouch()中 得到的位置不精确  只能得到点击后光标的位置(用的是getSelectionStart()),这个位置倒是精确,但发现总是得到的上次事件发生的位置 本次的得不到 。
    MotionEvent中 请问下ACTION_POINTER_DOWN 这个事件 在什么情况下 才会触发呢?Doc文档都查了,可惜是英文的看不太动   而且感觉有些解释并不是非常清晰
      

  3.   

    ACTION_POINTER_DOWN 是多点触控,当第二个点按下去就会触发这个事件