Как скрыть буквы пароля при наборе

Я занимаюсь приложением с Android. Мое требование - скрыть пароль, пока пользователь вводит пароль. Я знаю, как скрыть пароль, но пароль, который набирает пользователь, виден некоторое время, прежде чем конвертировать в нечитаемый формат. Может кто-нибудь помочь мне в этом вопросе.

Ответы на вопрос(6)

Решение Вопроса

пароль, Вместо этого вы можете использоватьaddTextChangedListener() который будет вызван, как только пользователь введет символ. Поддерживать строку уровня активности, скажем "mPass», В ,TextWatcher()onTextChanged метод, добавьте символ к вашему mPass и замените входной символ на *.

Но вы должны быть осторожны с этим приложением, потому что оно передаст контрольTextWatcher() даже после того, как вы заменили символ на *. Если не обрабатывается должным образом, он вызывается рекурсивно, вызывая сбой приложения.

Утомительно, но это сработает ...

 powder36604 мар. 2013 г., 14:48
Можете поделиться кодом?

прокрутите, пока не найдетесделать пароль видимым' (показывать символы пароля кратко, когда вы их набираете), это остановит появление писем на короткий промежуток времени и уменьшит шансы того, что кто-то прочитает ваш пароль при вводе, будьте в безопасности, будьте счастливы =)

 CubeJockey29 июн. 2015 г., 21:07
ОП хочет решение на стороне приложения, а не на основе настроек телефона.

android: пароль Отображаются ли символы поля в виде точек пароля вместо самих себя.

http://developer.android.com/reference/android/widget/TextView.html#attr_android:password

public class LoginActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // example of usage
    ((TextView) findViewById(R.id.password)).setTransformationMethod(new HiddenPassTransformationMethod());
}

private class HiddenPassTransformationMethod implements TransformationMethod {

    private char DOT = '\u2022';

    @Override
    public CharSequence getTransformation(final CharSequence charSequence, final View view) {
        return new PassCharSequence(charSequence);
    }

    @Override
    public void onFocusChanged(final View view, final CharSequence charSequence, final boolean b, final int i,
                               final Rect rect) {
        //nothing to do here
    }

    private class PassCharSequence implements CharSequence {

        private final CharSequence charSequence;

        public PassCharSequence(final CharSequence charSequence) {
            this.charSequence = charSequence;
        }

        @Override
        public char charAt(final int index) {
            return DOT;
        }

        @Override
        public int length() {
            return charSequence.length();
        }

        @Override
        public CharSequence subSequence(final int start, final int end) {
            return new PassCharSequence(charSequence.subSequence(start, end));
        }
    }
}
}

android:password="true", Это будет делать то, что вы ожидаете.

Пример:

   <edittext android:id="@+id/editText1" android:inputtype="number" android:layout_width="wrap_content" android:layout_height="wrap_content" android:password="true">
</edittext>
 user179925907 нояб. 2012 г., 12:00
Мистер Механич, я в курсе этого. Но мое требование другое. Пожалуйста, пройдите через пост еще раз.

android:inputType="textPassword"

пример:

<android.support.v7.widget.appcompatedittext android:id="@+id/password_edit_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputtype="textPassword" android:singleline="true">
</android.support.v7.widget.appcompatedittext>

Ваш ответ на вопрос