Событие Button Down в Eclipse (Android)

Я хочу использовать кнопку (не ключ) так же, как backspace, поэтому, когда она работает, делайте что-то многократно. Я нашел правильный код для аппаратных клавиш, но, как я уже говорил, я хочу, чтобы КНОПКА делала такие вещи. благодаря

2 ответа

Спасибо Скотту. Наконец я нашел ответ и выполнил эту работу.

public MyActivity extends Activity 
{ 
 private Handler mHandler = new Handler(); 

private Runnable mUpdateTask = new Runnable() 
{ 
 public void run() 
 { 
 Log.i("repeatBtn", "repeat click"); 
 mHandler.postAtTime(this, SystemClock.uptimeMillis() + 100); 
 } 
}; 

public void onCreate(Bundle savedInstanceState) 
{ 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.main); 

 Button repeatButton = (Button) findViewById(R.id.repeatButton); 
 repeatButton.setOnTouchListener(new OnTouchListener() 
 { 
 public boolean onTouch(View view, MotionEvent motionevent) 
 { 
 int action = motionevent.getAction(); 
 if (action == MotionEvent.ACTION_DOWN) 
 { 
 Log.i("repeatBtn", "MotionEvent.ACTION_DOWN"); 
 mHandler.removeCallbacks(mUpdateTask); 
 mHandler.postAtTime(mUpdateTask, SystemClock.uptimeMillis() + 100); 
 } 
 else if (action == MotionEvent.ACTION_UP) 
 { 
 Log.i("repeatBtn", "MotionEvent.ACTION_UP"); 
 mHandler.removeCallbacks(mUpdateTask); 
 }
 return false;
 }
 });
}
}


Вы можете установить OnTouchListener на экземпляр Button. Вы можете переопределить onTouch метод из слушателя сделать то, что это то, что вы хотите, пока MotionEvent не передается onTouch метод имеет MotionEvent.getAction == MotionEvent.ACTION_UP. См. Эту ссылку для примера:

Событие прослушивания Android onTouch

Оператор switch достаточно, просто настройте его, чтобы он соответствовал вашим потребностям, используя то, что я сказал выше. --hope это помогает, Скотт

licensed under cc by-sa 3.0 with attribution.