Tag: ontouchlistener

在Gallery中嵌入ListView

目标是实现一个Gallery,其适配器返回ListViews(换句话说,垂直滚动嵌入在水平滚动Gallery中的ListView)。 它经过一些工作后才有用,但是当试图水平滚动时,ListView看起来非常紧张,就像它有一定的粘性一样。 我没有在Gallery中嵌入任何其他类型的View中观察到这种行为。 这是我尝试过的: 最初,我发现ListView压缩了触摸事件,因此Gallery上的手势监听器永远不会被触发。 所以在Activity的onCreate()方法中,我创建了一个GestureDetector: galleryGestureDetector = new GestureDetector(this, gallery); 然后,在Gallery适配器的getView()方法内部,在ListView被充气和配置之后,我有一些代码如下: listView.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { galleryGestureDetector.onTouchEvent(event); return true; } }); 在这种情况下,我甚至走到了从OnTouchListener返回true的极端步骤,以确保实际上从未调用listView的onTouchEvent()方法。 发生同样的紧张行为。 因此,我认为我可以排除在两个视图之间竞争onTouchEvent()实现。 我试图通过扩展Gallery的触摸矩形来包含ListView然后强制ListView委托给它来滥用TouchDelegate概念,但这也是徒劳的。 我会举手说当前不可能,但与DroidX打包在一起的社交网络应用程序以某种方式实现了它!