package com.michao.gesture;import android.app.Activity;import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;public class mainActivity extends Activity implements OnTouchListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        Log.d("jjj", "oncreate");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    } @Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("jjj", "ontouch");
return false;
}
}结果是只有helloworld,mainactivity。logcat中没i有东西输出,点击屏幕也没有反应。

解决方案 »

  1.   

    这是修改后的,log.v("jjj","...")都没有显示。Ontouchevent都显示了。Ontouch没有显示。ongesturelistener的六个函数也都没反应。public class mainActivity extends Activity implements OnTouchListener,OnGestureListener{
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            Log.v("jjj", "oncreate");
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        } @Override
    public boolean onTouch(View v, MotionEvent event) {
    Log.v("jjj", "ontouch");
    Toast.makeText(this, "ontouch", Toast.LENGTH_SHORT).show();
    return false;
    }
     public boolean onTouchEvent(MotionEvent event) {  
    if (event.getAction() == MotionEvent.ACTION_DOWN) {  
    Log.v("Himi", "ACTION_DOWN");  
    } else if (event.getAction() == MotionEvent.ACTION_UP) {  
        Log.v("Himi", "ACTION_UP");  
    } else if (event.getAction() == MotionEvent.ACTION_MOVE) {  
        Log.v("Himi", "ACTION_MOVE");  

    return false;
     } @Override
    public boolean onDown(MotionEvent e) {
    Log.v("Himi", "onDown");
    return false;
    } @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
    float velocityY) {
    Log.v("Himi", "onFling");
    return false;
    } @Override
    public void onLongPress(MotionEvent e) {
    Log.v("Himi", "onLongPress");

    } @Override
    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
    float distanceY) {
    Log.v("Himi", "onScroll");
    return false;
    } @Override
    public void onShowPress(MotionEvent e) {
    Log.v("Himi", "onShowPress");

    } @Override
    public boolean onSingleTapUp(MotionEvent e) {
    Log.v("Himi", "onSingleTapUp");
    return false;
    }
      

  2.   

    在Activity 中,要有View给你Down Move Up 啊,你写一个 MyView extends OnTouchListener,然后把这个MyView 写在Activity中 ,你试试。
      

  3.   

    public boolean onTouch(View v, MotionEvent event) {
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    Log.i("ACTION_DOWN","-----ACTION_DOWN-----");
    break;
    case MotionEvent.ACTION_MOVE:
    Log.i("ACTION_MOVE","-----ACTION_MOVE-----");
    break;
    case MotionEvent.ACTION_UP:
    Log.i("ACTION_UP","-----ACTION_UP-----");
    break; default:
    break;
    }

    return false;
    }
      

  4.   

    不好意思  MYView 是 implements OnTouchListener
      

  5.   

    onTouchEvent事件响应的是屏幕的触摸事件onTouch以及GestureListener的六个函数处理的都是View(可操作的控件)的触摸事件
      

  6.   

    是不是有两个接口都叫OnGestureListener?一个有六个函数。一个有四个函数。
    六个函数分别是ondown,onfilling,onlongpress,onscroll,onshowpress,onsingletapup.那四个函数分别是ongesture,ongesturecancelled,ongestureended,ongesturestarted.
      

  7.   


    @Override
    public boolean onTouchEvent(MotionEvent event) {
    // 获得触摸的坐标
    int x = (int) event.getX();
    int y = (int) event.getY();
    switch (event.getAction()) {
    // 触摸屏幕时刻
    case MotionEvent.ACTION_DOWN:
    UpdateTouchEvent(x, y);
    break;
    // 触摸并移动时刻
    case MotionEvent.ACTION_MOVE:
    break;
    // 终止触摸时刻
    case MotionEvent.ACTION_UP:
    break;
    }
    return super.onTouchEvent(event);
    }