2010-11-23 62 views
8

如何使用硬鍵或軟鍵可靠地檢測按鍵?沒有EditText和檢測按鍵的軟鍵盤

我的應用程序通過wifi遠程控制另一個設備,我需要檢測軟鍵盤或硬鍵盤上的每個按鍵。我並不需要EditText,因爲我只需要在按下時一次發送一個字符,而不需要最終的文本字符串。

我已經嘗試使用OnKeyPress的EditText,但遇到了問題here與軟鍵盤沒有得到按鍵。 TextWatcher不是一個好的選擇,因爲我需要每個按鍵。

如果必須,我會使用EditText,但不願意。我真正想要的是:

  • 彈出一個軟鍵盤,當用戶點擊搜索按鈕
  • 用戶按下按鍵和我發送代碼遠程設備。不要真的需要在屏幕上看到的任何一個EditText,因爲它會在遠程設備上顯示
  • 用戶按下完成軟鍵盤上按鍵自定義關閉它

有什麼建議?

+1

你有沒有找到一種方法來做到這一點呢? – 2011-03-17 09:48:30

+0

看看[這] [1]帖子。這對我有用。經過SGS II測試。 [1]:http://stackoverflow.com/questions/4579544/can-i-use-the-soft-keyboard-without-an-edittext/6954401#6954401 – miha 2011-08-05 10:04:14

回答

1

那麼你可以覆蓋[onKeyDown(int keyCode, KeyEvent event)] [1]和(或)onKeyUp(int keyCode, KeyEvent event)] [2]在應用活動課 方法,這將讓你得到通知,甚至對這種鍵作爲返回鍵以及其他硬件按鍵...

注意:您可以獲得有關軌跡球動作通知等等...

[1]:http://developer.android.com/reference/android/view/View.html#onKeyDown(int,android.view.KeyEvent) [2]:http://developer.android.com/reference/android/view/View.html#onKeyUp(int,android.view .KeyEvent)