「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;
}
});