アンドロイドでOnTouchListenerのOntouchイベントが2回呼ばれる
2023-10-21 02:56:04
質問
実行時に与えられた2点間に線を生成するアプリケーションを作成しています。
私が見た問題は
onTouch()
が2回呼び出されることです。私は、2つのアクション (
ACTION_DOWN
&です。
ACTION_UP
) がチェックされます。しかし、私は自分のアプリが
onTouch()
を一度だけ呼び出したいのです。何かアイデアがあれば教えてください。これは私が使用したコードです。
SurfaceView surfaceview = new SurfaceView(getContext());
SurfaceHolder h = surfaceview.getHolder();
int action = event.getActionMasked();
synchronized(h) {
if (action == MotionEvent.ACTION_DOWN && action!=MotionEvent.ACTION_CANCEL)// && flag==true)
{
Log.d("TouchView","ACTION_DOWN ");
Point pointer = new Point();
pointer.x = (int) event.getX();
pointer.y = (int) event.getY();
touchPoint.add(pointer);
view.invalidate();
Log.d("MotionEvent.ACTION_DOWN", "point: " + pointer);
action = MotionEvent.ACTION_CANCEL;
flag = false;
}
else if(action == MotionEvent.ACTION_UP && action!=MotionEvent.ACTION_CANCEL)// && flag==true)
{
Log.d("TouchView","ACTION_UP");
Point pointer = new Point();
pointer.x = (int) event.getX();
pointer.y = (int) event.getY();
touchPoint.add(pointer);
view.invalidate();
Log.d("MotionEvent.ACTION_UP", "point: " + pointer);
action = MotionEvent.ACTION_CANCEL;
flag = false;
}
else return false;
}
どのように解決するのですか?
touchListenerは、すべての
MotionEvent.ACTION_DOWN
,
MotionEvent.ACTION_UP
そして
MotionEvent.ACTION_MOVE
というように、一度だけコードを実行したい場合、つまり
MotionEvent.ACTION_DOWN
の中で
onTouch()
if (event.getAction() == MotionEvent.ACTION_DOWN) {
//your code
}
関連
-
[解決済み] アンドロイドスピナー 選択されたアイテムの変更イベントを取得
-
[解決済み] Androidの一部の端末で、カメラインテントで撮影した画像が回転してしまうのはなぜですか?
-
[解決済み] onTouchListener の警告: onTouch は、クリックが検出されたときに View#performClick を呼び出す必要があります。
-
[解決済み] Nexus 4でUSBデバッグモードを見つける方法とオンにする方法
-
[解決済み] Androidでマイナスマージンを使用するのは悪いことですか?
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] AsyncTaskを複数回実行する
-
[解決済み] onCreate(Bundle savedInstanceState)とは?
-
[解決済み] 非ActivityクラスでContextを取得する [重複].
-
[解決済み] RecyclerViewのアイテムに波及効果を追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SDカードからファイルを削除する方法を教えてください。
-
[解決済み] ArrayAdapter<myClass> の使用方法
-
[解決済み] プログラムでソフトキーボードを開く
-
[解決済み] AndroidでラジオボタンにOnClickListenerを設定するには?
-
[解決済み] getApplication()、getApplicationContext()、getBaseContext()、someClass.thisの違いと使い分け。
-
[解決済み] Android Navigation Architecture Component - 現在表示されているフラグメントを取得する
-
[解決済み] TabLayoutに対応したandroidデザインでタブテキストのフォントを変更する
-
[解決済み] 複数のフィルタを持つBroadcastReceiverか、複数のBroadcastReceiverか?
-
[解決済み] グリッドビューの高さが削減される
-
[解決済み] Google Play ストア内部テストのロールアウトが開始できない