2017-06-21 7 views
3

パスワードを入力するとアンドロイドのEdittextフィールドはパスワードを隠しません。それは前に働いたが、何がうまくいかなかったのか何が変わったのか分からない。ここではソースコードは次のとおりです。パスワード入力を使用すると、Edittextフィールドはパスワードを非表示にしません。

XML

<EditText 
    android:id="@+id/login_password" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_vertical" 
    android:background="@drawable/rectangular_border_edittext" 
    android:hint="@string/enter_password" 
    android:inputType="textPassword" 
    android:maxLines="1" 
    android:padding="8dp" /> 

JAVA

password.setSingleLine(); 
    password.setImeOptions(EditorInfo.IME_ACTION_NEXT); password.setImeActionLabel(getResources().getString(R.string.goButton), EditorInfo.IME_ACTION_NEXT); 
    password.setOnEditorActionListener((v, actionId, event) -> { 
       if (actionId == EditorInfo.IME_ACTION_NEXT) { 
        checkPasswordAndSend(); 
       } 
       return false; 
      }); 

私に知らせてくださいする前に誰かが似問題が発生している場合。また、サポートライブラリの最新バージョンを使用していることをお伝えしたいと思います(25.3.1)。

答えて

3

私はそれを理解しました。パスワードのmaxlines属性はこのような傾向があります。 xmlからmaxLines = 1を削除し、javaからsetSingleLineを削除すると、すべて正常に戻ります。なぜこの作品が分かりませんが、うまくいきます。 これは誰かを助けてくれることを願っています。

2

あなたXMLにこの行を削除します。

android:maxLines="1" 

あなたはこの必要があります:

<EditText 
android:id="@+id/login_password" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_gravity="center_vertical" 
android:background="@drawable/rectangular_border_edittext" 
android:hint="@string/enter_password" 
android:inputType="textPassword" 
android:padding="8dp" /> 

をそして、あなたの例のように、あなたのJAVAにこのラインを保つ:

password.setSingleLine(); 
関連する問題