GridView 在触摸时获取项目
我试图在触摸 gridview 时选择项目,但我无法使用 onClick,因为它会启动另一个活动.我想要实现的是能够在网格视图中移动项目,因为我找不到这样做的方法,所以我正在尝试一种方法..
I'm trying to get the item selected when i touch a gridview, i cant use the onClick as that starts another activity. What I'm trying to achieve is to be able to move items in a gridview around and since i cant find a way of doing it I'm trying to make a way..
所以是的.. 有没有办法让哪个项目被触摸",我尝试使用 Rect 但它没有正常工作..
So yeah.. Is there a way to get which item has been 'touched', I've tried using a Rect and it hasn't worked properly..
(我能详细说明一下吗..我不能为此使用 onItemClick..)
(Can i just elaborate.. i Cant use the onItemClick for this..)
任何帮助都会很棒,谢谢!:)
Any help would be great, Thank you! :)
推荐答案
如果 Glendon Trullinger 的使用 onLongClickListener 的建议对你来说还不够,试试 GridView#pointToPosition(int x, int y),您可以从 View.OnTouchListener
,使用 MotionEvent
的 x 和 y 坐标.使用该位置,您可以使用 获取该位置的子视图这个答案,和/或您可以使用 AdapterView#getItemAtPosition(int)
If Glendon Trullinger's suggestion of using onLongClickListener isn't sufficient for you, try GridView#pointToPosition(int x, int y), which you can call from a View.OnTouchListener
, using the MotionEvent
's x and y coordinates. With that position, you can get the child view at that position using this answer, and/or you can get the adapter item itself using AdapterView#getItemAtPosition(int)
相关文章