android开发 GestureDetector.OnGestureListener 的 onScroll()方法 为何无法监听到imageview控件的滑动?

packagewangman.onTouchListener;importandroid.app.Activity;importandroid.os.Bundle;imp... package wangman.onTouchListener;

import android.app.Activity;
import android.os.Bundle;

import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;

public class onTouchListenerActivity extends Activity {
/** Called when the activity is first created. */
//private Button Button1;

private GestureDetector mGestureDetector = new GestureDetector(new myOnGestureListener());
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Button Button1 = null;
findView();
}

private void findView()
{
ImageView imageView;
imageView = (ImageView)findViewById(R.id.imageView);
imageView.setOnTouchListener(myOnTouchListener);
}

OnTouchListener myOnTouchListener = new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return mGestureDetector.onTouchEvent(event);
}
};

class myOnGestureListener implements OnGestureListener{

@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
System.out.println("onDown");
return false;
}

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
System.out.println("onFling");
return false;
}

@Override
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub
System.out.println("onLongPress");

}

@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// TODO Auto-generated method stub
System.out.println("onScroll");
return false;
}

@Override
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub
System.out.println("onShowPress");
}

@Override
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub
System.out.println("onSingleTapUp");
return false;
}

}
}

运行程序 用鼠标在ImageView控件上滑动 LogCat中只能显示出onDown onShowPress 和onLongPress 而其他的却不显示 ,我明明是在控件上滑动了啊 为什么相应的callback函数不运行??请高手解答!小弟万分感激!!!
展开
 我来答
戈可可0K0
2011-03-27 · TA获得超过102个赞
知道答主
回答量:51
采纳率:0%
帮助的人:67.9万
展开全部
如果你要识别负责手势操作,应该继承的是GestureDetector.SimpleOnGestureListener
SimpleOnGestureListener 是GestureDetector 内部类
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式