onTouchEvent() фактически occour, когда мы касаемся экрана. Но я хочу вызвать это событие вручную, не касаясь экрана. Я хочу вызвать этот метод на основе логической переменной. Я новичок в android, поэтому я не знаю точно, что это возможно или нет. Заранее спасибоКак вызвать onTouchEvent вручную в android
1
A
ответ
1
Сначала переопределите onTouchEventMethod в действии. то вы можете вызвать этот метод внутри любой функции, подобной этой.
public void callMethod(){
onTouchEvent(motionevent)
}
0
Может быть вам нужно что-то вроде этого
private String TAG = GestureActivity.class.getSimpleName();
float initialX, initialY;
@Override
public boolean onTouchEvent(MotionEvent event) {
//mGestureDetector.onTouchEvent(event);
int action = event.getActionMasked();
switch (action) {
case MotionEvent.ACTION_DOWN:
initialX = event.getX();
initialY = event.getY();
Log.d(TAG, "Action was DOWN");
break;
case MotionEvent.ACTION_MOVE:
Log.d(TAG, "Action was MOVE");
break;
case MotionEvent.ACTION_UP:
float finalX = event.getX();
float finalY = event.getY();
Log.d(TAG, "Action was UP");
if (initialX < finalX) {
Log.d(TAG, "Left to Right swipe performed");
}
if (initialX > finalX) {
Log.d(TAG, "Right to Left swipe performed");
}
if (initialY < finalY) {
Log.d(TAG, "Up to Down swipe performed");
}
if (initialY > finalY) {
Log.d(TAG, "Down to Up swipe performed");
}
break;
case MotionEvent.ACTION_CANCEL:
Log.d(TAG,"Action was CANCEL");
break;
case MotionEvent.ACTION_OUTSIDE:
Log.d(TAG, "Movement occurred outside bounds of current screen element");
break;
}
return super.onTouchEvent(event);
}
+0
Можете ли вы сделать это, не касаясь экрана ???? – User
0
Если вы хотите только подделки Щелка/крана на View
(подобно TextView
) и что View
имеет идентификатор, вы можете делать:
findViewById(**theId**).preformClick();
в качестве альтернативы, если у вас есть View
как уже объект, вы можете простофиля ly call:
view.performClick();
Не могли бы вы объяснить, почему вы хотите? Возможно, будет лучший способ добиться того, что вы хотите сделать. – Abbas
Вы можете создать новый 'MotionEvent', вызвав' MotionEvent.obtain() '. Но как @Abbas сказал, что может быть лучший способ сделать то, что вы хотите. –
На самом деле я хочу удаленно отключить устройство Android для удаленного нажатия кнопки удаленного устройства – User