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

前端之家收集整理的这篇文章主要介绍了如何最好地处理Android ListActivity的fling手势前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在主视图中有一个带有ListActivity的 Android应用程序.该列表包含一个带有TextView和隐藏删除按钮的LinearLayout.默认情况下,删除按钮将被隐藏.我想用一个手势来显示按钮.由于stackoverflow上的问题# 937313,我能够检测到这种投掷手势.我不清楚如何确定列表中的哪个项目被抛出,因为onTouch监听器会监听ListView.该项不一定被选中,因此无法可靠地使用getSelected *方法.我正在使用SimpleListAdaptor,因此我无法直接访问ListView中的View Objects.

有任何想法吗?

解决方法

尝试使用 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
    }
}

猜你在找的Android相关文章