2015-05-24 85 views
2

有用來設置按鈕的onClickListenerDone按鈕或使用OnEditorActionListenerNext按鈕明確方式。但我怎麼能設置一個onClickListener按鈕像speaker或像一個字母按鈕像M如何在android軟鍵盤上設置onClickListener按鈕?


所以,沒有使用setOnKeyListener後,我在keyEvent看了一眼developer.android,發現下面的話:

軟輸入法都可以使用輸入 多和創造性的方式文字,並不保證軟鍵盤上的任何按鍵會產生關鍵事件:這由IME自行決定,並且在 事實上不鼓勵發送這樣的事件。您絕對不應該依賴於 接收KeyEvents用於軟輸入方法上的任何鍵。特別是, 默認的軟件鍵盤將永遠不會發送任何關鍵事件到任何針對Jelly Bean或更高版本的 應用程序,並且只會發送事件 ,用於刪除和返回鍵的應用程序 針對冰淇淋三明治或更早版本。請注意,其他軟件 輸入法可能永遠不會發送關鍵事件,而不考慮版本。 如果您需要 與軟件鍵盤的特定交互,請考慮使用編輯器操作(如IME_ACTION_DONE),因爲它會向用戶提供更多 關於您的應用程序如何響應按鍵 的可見性。

這個引用存在沒有任何方法克服,所以?!

回答

2

您是否嘗試過使用onKeyListener?例如

mEditText.setOnKeyListener(new OnKeyListener() { 
@Override 
public boolean onKey(View v, int keyCode, KeyEvent event) { 
    if(keyCode == KeyEvent.KEYCODE_M){ 
     // Example for M key 
     // Code... 
     return true; 
    } 
    return false; 
} 
}); 

你可以閱讀更多有關的KeyEvent等關鍵碼here

+0

嗯,我已經試過這種方式,我不知道原因,但它甚至沒有輸入onClick方法 –

+0

那麼,它只有在我使用Next或Done –

+0

時才進入方法看看我的更新這個問題 –

相關問題