2016-12-14 2 views
1

私は現在アンドロイドで自分のソフトキーボードを作っていて、イームアクションを選択するのに苦労しています - (IME_ACTION_SEARCHまたはIME_ACTION_DONEなど)。アンドロイドカスタムソフトキーボードインターセプトime_action

たとえば、ユーザーがGoogle検索を入力すると、検索ボタンが検索ボタンになり、SMSの場合は改行になります。どのように私はそれらの間で異なることができますか?

私は幸運でそれを探してみました。

onCreateInputView(){} 

助けていただければ幸いです。

答えて

1

InputMethodServicegetCurrentInputEditorInfoと電話することができます。次に、EditorInfoのimeOptions propertyを調べることができます。

int imeOptions = mInputMethodService.getCurrentInputEditorInfo().imeOptions; 
switch (imeOptions&EditorInfo.IME_MASK_ACTION) { 
      case EditorInfo.IME_ACTION_NONE: 
       // None 
      case EditorInfo.IME_ACTION_GO: 
       // Go 
      case EditorInfo.IME_ACTION_SEARCH: 
       // Serach 
      case EditorInfo.IME_ACTION_SEND: 
       // Send 
      case EditorInfo.IME_ACTION_NEXT: 
       // Next 
      case EditorInfo.IME_ACTION_DONE: 
       // Done 
     } 
+0

私は同じ問題がありますが、getCurrentInputEditorInfo()です。 nullを投げる? –