シナリオは、たとえばユーザーがActivity Aを longclick することです。 ユーザーが指を離していない間 、lonkclickのアクティビティ Aがアクティビティ Bを開始します。アクティビティ Bは、ユーザーがまだ画面に触れていることを検出する必要があります。
私はそれを達成しようとしました...
活動Aで
ButtonA.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
startActivityForResult(new Intent(ActivityA.this, ActivityB.class), REQUEST_1);
return true;
}
});
アクティビティ Bで...
ButtonB.setOnTouchListener(new OnTouchListener() {
int oldEvent = -1;
@Override
public boolean onTouch(View v, MotionEvent event) {
if (oldEvent != event.getAction()) {
oldEvent = event.getAction();
Toast.makeText(ActivityB.this, event.getAction() + "", Toast.LENGTH_SHORT).show();
}
return true;
}
});
たとえば、ButtonA と ButtonB は画面上の同じ位置にあります。絶対/
しかし、 ActivityBが開始されたとき、 ButtonBはイベントを受け取りませんでした。ACTION_DOWN でも ACTION_UP でもなく、他でもない。通常、ButtonB でACTION_UPを受信したい:-)