Olá pessoal,
Estou com o seguinte problema, o usuário do meu sistema, não pode em hipótese alguma descobrir a senha que estou digitando no tablet no momento em que eu for prestar suporte técnico remotamente, o fato é que no objeto EditText, quando eu informo o valor
o usuário consegue ver os caracteres que eu digito, antes desses caracteres se tornarem “ilegíveis” (bolinha ou asterisco), entenderam?
Alguém sabe como solucionar esse problema?
Grato, Levi.
faz tempo, mas aproveitando a passagem:
public 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));
}
}
}
<EditText
android:id="@+id/senhaET"
android:inputType="textPassword"
android:singleLine="true"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:maxLength="10"
android:background="@drawable/borda_selector"
/>
final EditText senhaET = (EditText)findViewById(R.id.senhaET);
//Impede que o valor do ultimo caracter digitado seja exibido
((TextView)senhaET).setTransformationMethod(new HiddenPassTransformationMethod());
eu acho que tenha uma propriedade input que já faça isso.