0

「ACTION_DOWN」の遅延が機能しない理由を説明するためのヘルプをオンラインで見つけることはできません。残りのコードは、画像に触れるとすぐに実行されます。私の意図は、 //additional code と //end additional code コメントの間に配置されます。他の場所に配置する必要がありますか?前もって感謝します!

編集: onLongClickListener を使用しますが、意図を開始するためにオブジェクトを保持する必要がある時間を延長することを意図しています。

mImage = (ImageView)MainActivity.this.findViewById(R.id.Floaterimg);
    mImage.setOnTouchListener(new View.OnTouchListener() {

        final Handler handler2 = new Handler(); 
        Runnable mLongPressed = new Runnable() { 
            public void run() { 
                Log.i("", "Long press!");

            }
        };
            @Override
            public boolean onTouch(View v, MotionEvent event){
                if(event.getAction() == MotionEvent.ACTION_DOWN)
                    handler2.postDelayed(mLongPressed, 3000);

                                    //additional code
                                    //end of additional code

                if((event.getAction() == MotionEvent.ACTION_MOVE)||
(event.getAction() == MotionEvent.ACTION_UP))
                    handler2.removeCallbacks(mLongPressed);
                    return false;    
            }
        });
4

2 に答える 2

3

mImage.setOnLongClickListener() を使用しないのはなぜですか?

于 2013-10-17T19:20:54.627 に答える
1

車輪を再発明する代わりに setOnLongClickListener を使用する

于 2013-10-17T19:20:26.980 に答える