Пароль раскрывается на шаге Leanback Guided Step при нажатии - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть GuidedStepFragment в качестве фрагмента типа аутентификации в моем приложении с откатом назад.

Как мне не дать "GuidedAction" действия с паролем раскрывать набранный текст, когда пользователь нажимает ввод или переход к следующему GuidedДействие?

Проблема, с которой я сталкиваюсь, заключается в том, что пароль скрыт, когда пользователь печатает, , но обнаруживается, когда пользователь переходит к следующему действию GuidedAction .

@Override
public void onCreateActions(@NonNull List<GuidedAction> actions, Bundle savedInstanceState) {
    GuidedAction action;
    if (getArguments() != null) {
        type = getArguments().getInt(ARG_TYPE);
    }
    if (type == TYPE_EMAIL) {
        action = new GuidedAction.Builder(getActivity())
                .id(ActionConstants.ACTION_INPUT_EMAIL)
                .editable(true)
                .description(getString(R.string.email_address_hint))
                .editInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS)
                .build();
    } else {
        action = new GuidedAction.Builder(getActivity())
                .id(ActionConstants.ACTION_INPUT_PASS)
                .editable(true)
                .description(getString(R.string.password))
                .editInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD)
                .build();
    }
    actions.add(action);
    action = new GuidedAction.Builder(getActivity())
            .id(ActionConstants.ACTION_CONTINUE)
            .title(R.string.next)
            .hasNext(true) // Shows the small arrow indicating there's something next...
            .build();
    actions.add(action);
}
* 1009.* Я попытался переопределить setupImeOptions, чтобы явно установить TransformationMethod для EditText, но он по-прежнему не скрывает пароль пользователя после перехода к следующему действию.
@Override
protected void setupImeOptions(ViewHolder vh, GuidedAction action) {
    switch ((int) action.getId()) {
        case ActionConstants.ACTION_INPUT_PASS :
            vh.getEditableDescriptionView().setTransformationMethod(new PasswordTransformationMethod());
            vh.getEditableTitleView().setTransformationMethod(new PasswordTransformationMethod());
            break;
    }
    super.setupImeOptions(vh, action);
}
...