9

ソフトキーボード上のキーイベント:アンドロイド - 「入力」キャプチャ「完了」と記載された要素がある私は私のアプリで<strong>ログイン</strong>ページを持っている

  • ユーザー名(のEditText)を
  • パスワード( EditText)
  • ログイン(ボタン)

Loginを押すことで、それがメイン画面に着陸する予定。ユーザがSamsung Galaxy S3のソフトキーボードのパスワードのキー入力の完了時にDoneをヒットしたときに、同じアクションを実行することです。ソフトキーボードのEnterキーはHTC One Xです。ここで私が試したどんな活動に

<EditText 
    android:id="@+id/password_txt" 
    android:layout_width="200dip" 
    android:layout_height="wrap_content" 
    android:imeOptions="flagNoExtractUi" 
    android:inputType="textPassword" 
    android:paddingLeft="10dp" 
    android:paddingRight="10dp" 
    android:paddingTop="8dp" 
    android:singleLine="true" /> 

、されています:

だから、ここPasswordフィールドののEditTextがどのようにある

EditText mPassword = (EditText) findViewById(R.id.password_txt); 
mPassword.setOnEditorActionListener(new TextView.OnEditorActionListener() { 

       @Override 
       public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
        if(event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER || actionId == EditorInfo.IME_ACTION_DONE){ 
         Log.e("MyApp", " ------> IN EDITOR ACTION DONE"); 
        } 
        return false; 
       } 
      }); 

私はパスワードのimeOptionsを維持してみましたフィールドをactionDoneflagNoExtractUiと一緒に入力しても問題ありませんでした。

答えて

3

これは、Samsung Galaxy S3、S3 Mini、S2、Google Nexus Tab、うまくいけばサムスンのすべてのデバイスでうまくいくと思われるreply by Ashaの解決策を見つけました。 HTCについては、これまでHTC Desire Xで働いていました。 HTC One Xでは、これは動作しません。このactionidの値は5で、これはソフトキーパッドのキーアクションをキャプチャします。

2

HTCは何らかの理由でimeOptionsをサポートしていませんが、一般的にすべてのキーボードでサポートされているわけではありません。 hereをご覧ください。私のお勧めは、next/done /などの独自のUIボタンを作ることです。機能性。

関連する問題

 関連する問題