我在android中以编程方式创建密码EditText时setInputType()setTransformationMethod()无法正常工作...

我的代码:

EditText edtPassword = new EditText(getApplicationContext());
edtPassword.setLayoutParams(rowParams);
edtPassword.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD|InputType.TYPE_CLASS_TEXT);
edtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());


这不起作用...

最佳答案

您尚未在视图中添加edittext,因此它可能无法正常工作...
这段代码对我来说很好

LinearLayout mLinearLayout = new LinearLayout(this);
        mLinearLayout = (LinearLayout)findViewById(R.id.mylinearlayout);


            EditText lEditText = new EditText(this);
            lEditText .setLayoutParams(new           LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
                                                 LayoutParams.WRAP_CONTENT));
             lEditText.setText("Text Here");
             mLinearLayout.addView(lEditText);
             lEditText.setWidth(50);     // change width
             lEditText.setHeight(20);

             lEditText.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_CLASS_TEXT);

07-24 09:45