GridView Get Item On Touch(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)
这篇关于GridView 在触摸时获取项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:GridView 在触摸时获取项目
基础教程推荐
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 降序排序:Java Map 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01