android - 如何最好地处理 Android ListActivity 的滑动手势

标签 android gestures

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

有什么想法吗?

最佳答案

尝试使用 AbsListView.pointToPosition()确定 ListView 中 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 - 如何最好地处理 Android ListActivity 的滑动手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1338475/

相关文章:

android - 如何删除使用 addContentView() 添加的布局?

java - 无法连接到 PostgreSQL 数据库,错误代码 'localhost'

android - Android 中的手势预测

google-chrome - 启用双指缩放以放大 Chrome 应用

安卓检测盗版/破解应用

android - 使用 mp3 文件时出现错误 : The file name must end with . xml 或 .png

java - 什么调用 Android View.OnClickListener API 方法?

Android,在可点击的小部件上做手势

windows - 使用注册表的适用于 Windows 的 Synaptics 自定义手势

Android:基于速度的 ViewPager 滚动