我有一个在主视图中带有 ListActivity
的 Android 应用程序。该列表包含一个带有 TextView
的 LinearLayout
和一个隐藏的删除按钮。默认情况下,删除按钮将被隐藏。我想用一个 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/