GridView获取项目
我试图在触摸gridview时选择项目,我无法使用onClick,因为它启动了另一个活动。 我想要实现的是能够在gridview中移动项目,因为我无法找到一种方法来做到这一点我正试图让路…
所以是的..有没有办法得到哪个项目被“触摸”,我尝试使用Rect并且它没有正常工作..
(我可以详细说明..我不能使用onItemClick这个..)
任何帮助都会很棒,谢谢! 🙂
如果Glendon Trullinger建议使用onLongClickListener是不够的,请尝试使用 View.OnTouchListener
的sx和y坐标从View.OnTouchListener
调用GridView#pointToPosition(int x,int y) 。 使用该位置,您可以使用此答案获取该位置的子视图,和/或您可以使用AdapterView#getItemAtPosition(int)获取适配器项本身
获取“触摸”的项目
gridView.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent me) { int action = me.getActionMasked(); // MotionEvent types such as ACTION_UP, ACTION_DOWN float currentXPosition = me.getX(); float currentYPosition = me.getY(); int position = gridView.pointToPosition((int) currentXPosition, (int) currentYPosition); // Access text in the cell, or the object itself String s = (String) gridView.getItemAtPosition(position); TextView tv = (TextView) gridView.getChildAt(position); } }
- tableview中的android:xml解析输出
- 如何将选定的OnItemLongClick从一个ViewPager项拖到另一个
- 无法使我的DialogFragment背景透明
- 如何收听电子邮件
- Android – Appium向下滑动不起作用
- 当Decrypting Image时,给出了javax.crypto.BadPaddingException:pad块损坏的Android
- 在推送通知错误“notificationBuilder.setContentText(currentText).setNumber(++ numMessages);”中找不到符号
- 检测到连接到PC的Android设备
- Parcelable的readInt(),readFloat()等是否知道它们检索的是什么值?