gpt4 book ai didi

安卓。文本输入布局。切换密码可见性事件监听器?

转载 作者:行者123 更新时间:2023-12-02 18:41:59 26 4
gpt4 key购买 nike

TextInputLayout 中有一个用于输入类型 textPassword 的密码可见性切换按钮。

是否可以捕获切换事件?

我找不到任何公共(public)方法

最佳答案

我查看了 TextInputLayout 的源代码以找到切换按钮的 View 类型。它的 CheckableImageButton。其他一切都很容易。您需要找到在 TextInputLayout View 的子级上递归迭代的 View 。然后按照 @MikeM 在评论中建议的那样 setOnTouchListener 。

View togglePasswordButton = findTogglePasswordButton(mTextInputLayoutView);
if (togglePasswordButton != null) {
togglePasswordButton.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
// implementation
return false;
}
});
}

private View findTogglePasswordButton(ViewGroup viewGroup) {
int childCount = viewGroup.getChildCount();
for (int ind = 0; ind < childCount; ind++) {
View child = viewGroup.getChildAt(ind);
if (child instanceof ViewGroup) {
View togglePasswordButton = findTogglePasswordButton((ViewGroup) child);
if (togglePasswordButton != null) {
return togglePasswordButton;
}
} else if (child instanceof CheckableImageButton) {
return child;
}
}
return null;
}

findTogglePasswordButton 的替代实现

private View findTogglePasswordButton() {
return findViewById(R.id.text_input_password_toggle);
}

@MikeM。谢谢你的ID

关于安卓。文本输入布局。切换密码可见性事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45585854/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com