使用 OnItemClickListener
而不是 OnTouchListener
单击时,我在更改 GridView 图像项资源时遇到问题。我想使用OnItemClickListener
的主要原因是我可以点击项目的position
。一旦我有了position
,我用它来确定要更改的图像。当我按下一个项目时,我想将其图像资源更改为image2
,而未按下时将其更改回image1
。
使用OnTouchListener
这很容易,但是我无法获取所选GridView项的position
。
试试这个:
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);
}
}