如何最好地处理Android ListActivity的投掷手势

如何最好地处理Android ListActivity的投掷手势,android,gestures,Android,Gestures,我有一个安卓应用程序,主视图中有一个ListActivity。该列表包含一个带有文本视图的线性布局和一个隐藏的删除按钮。默认情况下,“删除”按钮将隐藏。我想用一个快速的手势来显示按钮。多亏了stackoverflow上的问题#,我才能够检测到投掷姿势。我不清楚如何确定列表中的哪一项被抛出,因为onTouch侦听器会侦听列表视图。不必选择该项,因此无法可靠地使用getSelected*方法。我使用的是SimpleListAdaptor,因此无法直接访问列表视图中的视图对象 有什么想法吗?尝试使用确

我有一个安卓应用程序,主视图中有一个
ListActivity
。该列表包含一个带有
文本视图的
线性布局
和一个隐藏的删除按钮。默认情况下,“删除”按钮将隐藏。我想用一个快速的手势来显示按钮。多亏了stackoverflow上的问题#,我才能够检测到投掷姿势。我不清楚如何确定列表中的哪一项被抛出,因为onTouch侦听器会侦听
列表视图
。不必选择该项,因此无法可靠地使用getSelected*方法。我使用的是
SimpleListAdaptor
,因此无法直接访问
列表视图中的视图对象

有什么想法吗?

尝试使用确定列表视图中X,Y坐标的列表项

如果您使用的是来自#的配方,您应该能够或多或少地覆盖
onFling()
,如下所示:

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
    try {
        Toast.makeText(listAdapter.getItem( listView.pointToPosition( (int) e1.getX(), (int) e1.getY() ).toString() );
        return super.onFling();
    } catch( Exception e ) {
        // do nothing
    }
}
pointToPosition()将int而不是float作为参数,因此使用Math.round(e1.getX())、Math.round(e1.getY())而不是直接使用e1.getX()、e1.getY()