6

我有一个 Android 应用程序,ListActivity主视图中有一个。该列表包含一个LinearLayout带有一个TextView和一个隐藏的删除按钮。默认情况下,删除按钮将被隐藏。我想使用一甩手势来显示按钮。由于stackoverflow上的问题# 937313 ,我能够检测到投掷手势。我不清楚如何确定列表中的哪个项目被丢弃,因为 onTouch 侦听器侦听ListView. 该项目不一定被选中,因此无法可靠地使用 getSelected* 方法。我正在使用,SimpleListAdaptor所以我无法直接访问ListView.

有任何想法吗?

4

1 回答 1

14

尝试使用AbsListView.pointToPosition()来确定列表视图中 X、Y 坐标的列表项。

如果您使用 # 937313中的配方,您应该能够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
    }
}
于 2009-09-01T05:36:16.870 回答