我有一个带有字符的gridview 10x10。我正在制作一个字母汤,我需要在用户按下que屏幕时获取元素,按照拖动并获得up事件。
我正在测试在gridview的适配器上设置一个OnTouchListener,但我只得到Down事件而不是所有这些事件。
此代码位于适配器
中的 getView 方法内textView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
Log.d("ADAPTER", motionEvent.toString());
return false;
}
});
如果我在gridview上分配了事件,我必须使用coords获取元素的位置,并且字符不正确。
答案 0 :(得分:1)
您可能需要将侦听器添加到gridView
gridView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent me) {
int action = me.getActionMasked();
float currentXPosition = me.getX();
float currentYPosition = me.getY();
int position = gridView.pointToPosition((int) currentXPosition, (int) currentYPosition);
if (action == MotionEvent.ACTION_DOWN) {
// Key was pressed here
}
return true;
}