我正在创建一个Android应用程序,我必须点击图片,但也向左/向右滑动。 但是,当我同时在我的代码中有这两个代码片段时,只有OnSwipeTouchListener工作。侦听器都在同一个ImageView上。
代码1:
pic.setOnTouchListener(new OnSwipeTouchListener(this) {
@Override
public void onSwipeLeft() {
Toast.makeText(MainActivity.this, "LEFT", Toast.LENGTH_LONG).show();
}
public void onSwipeRight() {
Toast.makeText(MainActivity.this, "RIGHT", Toast.LENGTH_LONG).show();
}
});
代码2:
pic.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(MainActivity.this, "CLICK WORKS", Toast.LENGTH_LONG).show();
return true;
}
});
但是当我只有“Code 2”时,OnTouchListener代码完美无缺。
为什么?
提前致谢。
答案 0 :(得分:1)
我不完全确定OnSwipeTouchListener
是什么。但是一个视图只能有一个OnTouchListener
。第二次调用pic.setOnTouchListener()
也会删除第一个侦听器,因此两者无法同时工作是合乎逻辑的。
您要做的是创建一个实现View.OnTouchListener
的对象,并处理滑动和单击。请参阅http://developer.android.com/reference/android/view/GestureDetector.html以获得良好的起点。
答案 1 :(得分:0)
为此,我最终实现了一个带有ImageView片段的Viewpager。功能上的滑动已经以这种方式集成。