2

我正在开发一个使用 Leanback 库的 Android TV 应用程序。有一个带有电子邮件、密码和登录按钮的登录表单。我只想在电子邮件和密码有效时启用登录按钮。

这是我的代码:

mLoginButtonAction = new GuidedAction.Builder(this.getActivity())
            .id(id)
            .title(title)
            .description(desc)
            .build();
actions.add(action);

我首先禁用它:

mLoginButtonAction.setEnabled(false);

然后在有效时启用它:

mLoginButtonAction.setEnabled(valid);

然后启用该按钮,我可以单击它。但是按钮的颜色仍然与禁用模式下的颜色相同。任何想法?谢谢。

在此处输入图像描述

4

1 回答 1

5

对操作的修改不会触发 GuidedStepFragment 的通知,必须手动完成。

要通知操作更改,您首先需要项目索引。

int idx = findActionPositionById(actionId);

获取和修改您的操作

GuidedAction someAction = getActions().get(idx);
someAction.setEnabled(valid);

接下来通知更新的fragment

notifyActionChanged(idx);
于 2017-02-22T22:15:07.517 回答