1
我有一个图像用于向某些edittext添加1,并且我已经编写了代码来处理该图像的onclick事件并且其运行正常。但我必须实现,如果用户按下图像,它应该增加edittext,如果他保持图像处于按下状态,它应该增加edittext的更多值,这取决于他保持图像按下的时间。Android事件处理
我有一个图像用于向某些edittext添加1,并且我已经编写了代码来处理该图像的onclick事件并且其运行正常。但我必须实现,如果用户按下图像,它应该增加edittext,如果他保持图像处于按下状态,它应该增加edittext的更多值,这取决于他保持图像按下的时间。Android事件处理
你可以做的是使用一个处理程序,在图像被按下的同时执行连续循环中的runnable。可运行程序将包含增量代码:
private int _startIncrementRate = 750;
private int _incrementRate = 50;
private Handler _handler;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
_handler = new Handler();
_img.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View view, MotionEvent motionEvent)
{
switch (motionEvent.getAction())
{
case MotionEvent.ACTION_DOWN:
IncrementEditText();
_handler.postDelayed(handler_run, _startIncrementRate);
break;
case MotionEvent.ACTION_UP:
_handler.removeCallbacks(handler_run); // stop runnable from executing
break;
}
return false;
}
});
}
private Runnable handler_run = new Runnable()
{
public void run()
{
IncrementEditText();
_handler.postDelayed(this, _incrementRate);
}
};
private void IncrementEditText()
{
/* increment editText code here */
}