
这是与此问题相关的代码
final GestureDetector gestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() { public voID onLongPress(MotionEvent e) { Log.e("dbg_msg","onLongPress"); }});public boolean ontouchEvent(MotionEvent event) { return gestureDetector.ontouchEvent(event);}; 此代码可以长时间检测每一个(短)点击.
当我将此代码放在继承自Activity的类中时,它可以工作.
那么为什么它不能在自定义视图中工作?
解决方法 所有这些代码都在你的自定义视图类中:public static int LONG_PRESS_TIME = 500; // Time in miliseconds final Handler _handler = new Handler(); Runnable _longpressed = new Runnable() { public voID run() { Log.i("info","LongPress"); } };@OverrIDepublic boolean ontouchEvent(MotionEvent event) { switch(event.getAction()){ case MotionEvent.ACTION_DOWN: _handler.postDelayed(_longpressed,LONG_PRESS_TIME); break; case MotionEvent.ACTION_MOVE: _handler.removeCallbacks(_longpressed); break; case MotionEvent.ACTION_UP: _handler.removeCallbacks(_longpressed); break; } return true;} 总结 以上是内存溢出为你收集整理的长按Android全部内容,希望文章能够帮你解决长按Android所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)