-1

私は Android でプログラミングを勉強していて、問題にぶつかっています。このトグルボタンがあり、テキストを入力してボタンがオンの場合、テキストはスター付き (パスワード付き、好きなように呼び出します) で、ボタンがオフの場合、テキストはテキストです。ただし、問題が発生していますが、問題はありません。コードのブロックは次のようになります。

toggleCommand.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if(toggleCommand.isChecked()){
                    input.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
                } else{
                    input.setInputType(InputType.TYPE_CLASS_TEXT);
                }
            }
        });

問題がわかりません。私が何を間違えたのか教えてもらえますか?アプリケーションをオンにすると..何か入力すると、パスワードが設定されます。ボタンを押してチェックを外すと、パスワード付きのテキストがテキストに変わります。ボタンをもう一度押すと、パスワードが再度入力される代わりに、テキストは通常​​のままです。

4

2 に答える 2

1

これを試して:

toggleCommand = (ToggleButton)findViewById(R.id.the_id_of_your_togglebutton) ;
toggleCommand.setOnCheckedChangeListener( new OnCheckedChangeListener() 
{
    @Override
    public void onCheckedChanged(CompoundButton toggleButton, boolean isChecked) 
    {
        if(isChecked)
        {
            input.setTransformationMethod(PasswordTransformationMethod.getInstance());
        } 
        else
        {
            input.setTransformationMethod(null);
        }
    }
});

詳細については、ドキュメントを参照してください。


アップデート

この種の操作を行うには、TransformationMethodを使用できます。

したがって、テキストを非表示のパスワードに設定するには、PasswordTransformationMethodを使用する必要があり、再びテキストにするには、 を に設定するだけですTransformationMethodnullこの方法では、テキストに変換は適用されません。

これがお役に立てば幸いです。

于 2014-05-02T12:43:49.043 に答える
1

作業コードは次のとおりです。

toggleCommand.setOnClickListener(new OnClickListener()
    {

        @Override
        public void onClick(View arg0)
        {
            if (toggleCommand.isChecked())
            {
                input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
            }
            else
            {
                input.setInputType(InputType.TYPE_CLASS_TEXT);
            }
        }
    });

詳細: http://thenewboston.org/watch.php?cat=6&number=27

EditTextの入力タイプをプログラムでPASSWORDからNORMALに、またはその逆に変更します

編集: ここで setInputType に関する詳細な説明: http://developer.android.com/reference/android/text/InputType.html

于 2014-05-02T13:03:24.547 に答える