我在主视图中有一个带有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 } }