2011-12-22 11 views
5

パスワードでログインする必要があるアプリがあります。私は、最後に表示された文字だけを表示したいと思いますが、私が得意とするものはすべて、すべての文字またはすべての文字を表示することです。 XMLでEditTextにパスワードの最後の文字を表示

password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); 
password.setTransformationMethod(PasswordTransformationMethod.getInstance()); 
password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); 

と設定inputtype:

は、私はいくつかのことを試してみました。

私は現時点で私のオフィスの唯一のアンドロイドデバイスであるので、私はギャラクシーs2でテストしたので、私のデバイスに問題があるかどうかは分かりません。

編集: ただ、同僚からHTCセンセーション上でテストし、自分の携帯電話に意図したとおり、それは作業を行いますが、質問はギャラクシーS2でこれと同じ事を取得する方法のまま?

+2

私はそれはメーカーが、システムのUIを実装し、それはちょうどので、私はそれは、開発者側で変更することができるものではありませんかなり確信して、デバイスでデバイスを変化させる方法だけであると考えています。 – Jakar

+1

これはデバイス全体の設定であり、アプリで変更できるものではないと思います。 「場所とセキュリティの設定」メニューで「表示されるパスワード」を選択すると、この機能のオン/オフを切り替えることができます。 – ethan

+0

EditTextのパスワードが横向きでどのようになっているかを確認すると驚くでしょう。 :) – Jin35

答えて

16

尋ねられてから約1.5年経ちました。しかし、私は同じ要件を持っていて、それをうまく実装することができました。 MyTransformationクラスのオブジェクトをsetTransformationMethodのパラメータとして渡してください。これは良いことです:)ここにコードがあります。

public class MyTransformation extends PasswordTransformationMethod{ 

    @Override 
    public CharSequence getTransformation(CharSequence source, View view) { 
     return new PasswordCharSequence(source); 
    } 

    private class PasswordCharSequence implements CharSequence { 
     private CharSequence mSource; 
     public PasswordCharSequence(CharSequence source) { 
      mSource = source; // Store char sequence 
     } 
     public char charAt(int index) { 
     //This is the check which makes sure the last character is shown 
      if(index != mSource.length()-1) 
       return '•'; 
      else 
       return mSource.charAt(index); 
     } 
     public int length() { 
      return mSource.length(); // Return default 
     } 
     public CharSequence subSequence(int start, int end) { 
      return mSource.subSequence(start, end); // Return default 
     } 
    } 
} 

enter image description here

+0

私は自分のデバイスを除いてほとんどのデバイスで動作していましたが、このコードではデバイス上でも動作します。ありがとう:) – Youri

+0

@ユリ:助けてよかった:) – AndyFaizan

+0

ありがとう@AndyFaizan、あなたは私の時間を節約! – wf9a5m75

関連する問題