我正在开发一个使用 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);
然后该按钮将被启用,我可以单击它。但按钮的颜色仍然与禁用模式下的颜色相同。任何想法?谢谢。
最佳答案
对操作的修改不会触发对 GuidedStepFragment 的通知,必须手动完成。
要通知操作更改,您首先需要项目索引。
int idx = findActionPositionById(actionId);
获取并修改您的操作
GuidedAction someAction = getActions().get(idx);
someAction.setEnabled(valid);
接下来通知fragment更新
notifyActionChanged(idx);
关于android - GuidedAction setEnable 不会更改文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37317524/