2013-12-10 22 views
6

コード内でEditTextを使用し、ボタンをクリックするとその内容を文字列と比較します。 残念ながら、onkeyでenterキーを使用してこれを行うと、入力によって の改行が作成されるため、問題が発生します。 私は:EditTextを1行に設定すると、Enterキーを押した後にフォーカスが失われます

setSingleLine(true); 

これを防ぐために使用しました。しかし、Enterを押すとEditTextのフォーカスが失われます。 このように動作するのはなぜですか、どのように修正するのですか?

答えて

2

EditTextのレイアウトxmlにこのandroid:lines="1"を使ってみてください。

これは、Enterキーを新しい行として考えて、フォーカスが緩むことはないでしょう。既存のテキストは1行だけで表示されないかもしれませんが、それはアップワードに移動して非表示になります。

+0

が、この代わりに、(真)setSingleLineのトリックを使用しない、ありがとう! – user3086884

+0

このansは受け入れられたとマークする必要があります... :) –

+1

私は同意します。もちろん私はこれをマークしますが、システムはまだ私にそうすることを許しませんでした。もう一度ありがとう:) – user3086884

0

自身の次の焦点としてのEditTextを設定します。

<EditText 
    android:id="@+id/input" 
    ... 
    android:imeOptions="actionNext" 
    android:nextFocusForward="@+id/input" 
    android:singleLine="true" /> 
+0

うまくいきませんでした。 Nexus 5でアプリをテストしています - Android-M 6.1.1 –

関連する問題