2011-06-21 8 views
0

私のレイアウトにボタンとeditTextビューが含まれています。ボタンが押されている間、ボタンが離されるまで何度も何度もキーボードのキーを押したままにしておきたい。ここ は、基本的な概念です:Android:ボタンが選択、フォーカス、または押されているときにdispatchKeyEventを繰り返します。

while(button is held down){ 

dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, 
       KeyEvent.KEYCODE_P)); 

dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, 
       KeyEvent.KEYCODE_P)); 

} 

誰がこれで私を助けることができますか?

答えて

0

View#setOnTouchListener()およびView.OnTouchListenerを参照してください。 MotionEventACTION_DOWNで受け取った場合、あなたのアクティビティでHandlerを作成し、Handler#sendMessageDelayed()に電話をかけてください。遅延は使用する繰り返しの遅延です。各メッセージが受信されると、最初にその後、キー派遣し、次のキーを押してのスケジュールを設定するには、再度sendMessageDelayed()を呼び出す。MotionEvent.ACTION_UPで、あなたは保留中のスケジュールされたイベントをキャンセルするHandler#removeMessages()を呼び出します。キープレスイベントをシミュレートするためとして

、あなたは説明dispatchKeyEvent()方法はうまくいくかもしれない、に応じてあなたが達成したいこと:それはあなたのために働かない場合、さらに説明する必要があります。

関連する問題