在非activityjava类使用OnTouchListener
时间: 2024-03-21 14:39:22 浏览: 73
在非Activity的Java类中使用OnTouchListener,需要传入一个View对象作为参数,并将实现了OnTouchListener接口的对象设置为该View对象的触摸监听器。具体步骤如下:
1. 在非Activity的Java类中实现OnTouchListener接口,重写onTouch方法。
2. 在需要设置触摸监听器的View对象所在的Activity中,获取该View对象,并将其传入到非Activity的Java类中。
3. 在非Activity的Java类中,为传入的View对象设置触摸监听器,使用setOnTouchListener方法,并将实现了OnTouchListener接口的对象作为参数传入。
4. 重写onTouch方法,完成用户触摸屏幕时的操作。
示例代码如下:
```
public class MyTouchListener implements View.OnTouchListener {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 手指按下
break;
case MotionEvent.ACTION_MOVE:
// 手指移动
break;
case MotionEvent.ACTION_UP:
// 手指抬起
break;
}
return true;
}
}
public class MyClass {
private View mView;
public MyClass(View view) {
this.mView = view;
mView.setOnTouchListener(new MyTouchListener());
}
}
```
在上面的代码中,我们实现了OnTouchListener接口,并重写了onTouch方法。在MyClass的构造方法中,接收一个View对象作为参数,并将其保存到成员变量mView中。然后,调用mView的setOnTouchListener方法,为该View对象设置触摸监听器,将实现了OnTouchListener接口的MyTouchListener对象作为参数传入。在MyTouchListener的onTouch方法中,根据不同的MotionEvent类型,完成了不同的操作。
阅读全文