对于inputType为password的EditTexts,ImeOptions按钮不会更改

时间:2016-02-29 09:20:05

标签: java android

我需要在密码字段中指定操作按钮才能登录。这是我试过的:

XML:

 etPassword = (EditText)view.findViewById(R.id.password);
 etPassword.setTypeface(Typeface.DEFAULT);
 etPassword.setTransformationMethod(new PasswordTransformationMethod());
 etPassword.setOnEditorActionListener(this);

 @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        boolean handled = false;
        if (actionId == EditorInfo.IME_ACTION_SEND) {
            ((LandingActivity) getActivity()).DoLogin(etUsername.getText().toString(),etPassword.getText().toString(),cbRemember.isChecked());
            handled = true;
        }
        return handled;
    }

爪哇:

NULL

但它仍然将新的行按钮显示为动作。我该如何解决?

PS:我的其他imeOptions正在我的其他EditTexts中工作,这些不是密码字段。我只有这个密码EditText有问题。

编辑: 所以问题是以编程方式将inputType设置为password。当我在xml中将其设置为密码时,它确实有效。但是我需要以编程方式设置它。

1 个答案:

答案 0 :(得分:1)

maxlines =1更改为singleLine = true。可能有帮助     这是我的代码我正在使用相同的字段

             <EditText
                android:id="@+id/password"
                style="@style/inputFieldStyle"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:drawableLeft="@drawable/password_icon"
                android:hint="@string/password_hint"
                android:imeOptions="actionDone"
                android:inputType="textPassword"
                android:maxLines="1"/>