gpt4 book ai didi

android - GridView 获取具有 x 和 y 坐标的项目

转载 作者:行者123 更新时间:2023-11-29 15:29:23 25 4
gpt4 key购买 nike

我有一个显示一些图像的 GridView 。我已经实现了一个 ViewFlipper 来导航 gridview 的页面,我的问题是我现在不能使用 onItemClickListener。

我正在尝试改用 onSingleTapConfirmed。

这是 MyGestureDetector 类:

class MyGestureDetector extends SimpleOnGestureListener {

private static final int SWIPE_MIN_DISTANCE = 120;
private static final int SWIPE_MAX_OFF_PATH = 250;
private static final int SWIPE_THRESHOLD_VELOCITY = 200;

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
System.out.println(" in onFling() :: ");
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
vf.setInAnimation(inFromRightAnimation());
vf.setOutAnimation(outToLeftAnimation());
vf.showNext();
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
vf.setInAnimation(inFromLeftAnimation());
vf.setOutAnimation(outToRightAnimation());
vf.showPrevious();
}
return super.onFling(e1, e2, velocityX, velocityY);
}

@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
// TODO Auto-generated method stub
Log.e("Item Click","Item Click");

return super.onSingleTapConfirmed(e);
}

}

我现在需要做的是使用 x 和 y 坐标(e.getX() 和 e.getY())捕捉 gridview 的哪个项目被点击。

这里有人回答https://stackoverflow.com/a/6419223/1025506使用 pointToPosition 方法应该可行,但我不知道如何实现。

谢谢,对不起我的英语。

最佳答案

我终于设法使用 onSingleTapConfirmed 中的 gridview pointtoposition() 方法做到了这一点。

 if (myGridView.pointToPosition((int)e.getX(), (int)e.getY())!=-1) {
myItem = myAdapter.getItem(myGridView.pointToPosition((int)e.getX(), (int)e.getY()));
}

关于android - GridView 获取具有 x 和 y 坐标的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8532917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com