0

わかりました...私のアプリでは、MotionEvent.ACTION_DOWNのレイアウトを更新してから、モーションイベントの座標をチェックしてボタンを見つけます。別のボタンで指を離すと、トーストを表示できます。問題は、MotionEvent.ACTION_UP と競合することなく別のアクションを呼び出すために、ボタンを長押しする必要があることです。長いクリック ハンドラーを実装しましたが、「クリック」しないので機能しません。皆さんが私の問題を理解してくれることを願っています。

アプリを意図したとおりに動作させる最善の方法は何ですか?

私のクラスはOnTouchListener、OnGestureListenerを実装しています

    @Override
public boolean onTouch(View v, MotionEvent event) {

    switch(event.getAction()){

    case MotionEvent.ACTION_DOWN:

        // UPDATE LAYOUT
            break;

        case MotionEvent.ACTION_UP:

        // GET BUTTON X Y           
            if (x and y match the button location){

                // DO ACTION

            }else{   

                // DO NOTHING

            }           
            // CHANGE LAYOUT TO INITIAL STATE   
            break;

        case MotionEvent.ACTION_MOVE:
            break;

    }

        return false;


     mybutton.setOnLongClickListener(new OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
                // DO STUFF
            return true;
        }
    });

}
4

1 に答える 1

0

メソッドに戻っfalseて、いつものようonTouch(...)に使用してみてくださいonLongClickListener(...)

于 2013-01-21T15:00:11.897 に答える