如何执行单击 TextInputLayout EndIcon 按钮

yau*_*nka 3 android kotlin android-textinputlayout

我知道可以单击这样的视图:

view.PerformClick()
Run Code Online (Sandbox Code Playgroud)

我如何在TextInputLayoutEndIcon上做到这一点button

更新

问题是我有一堆 InputLayouts 并使用通用函数在它们上设置点击侦听器,就像这样

fun setTextInputLayoutListeners(
    inputLayout: TextInputLayout, editText: TextInputEditText,
    actionSet: () -> Unit,
    actionClear: () -> Unit
) {
    with (inputLayout) {
        setOnClickListener { actionSet() }
        setEndIconOnClickListener { actionClear() }
    }
    editText.setOnClickListener { actionSet() }
}
Run Code Online (Sandbox Code Playgroud)

并像这样用不同的参数调用它

setTextInputLayoutListeners(
    categoryInputLayout, categoryEditText, { onCategoryClick() }, { onCategoryClear() }
)
setTextInputLayoutListeners(
    dateInputLayout, dateEditText, { onDateClick() }, { onDateClear(calendar) }
)
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找一个通用的解决方案,有点

inputLayout.EndIcon.PerformClick()
Run Code Online (Sandbox Code Playgroud)

Jay*_*ola 11

textinput.setEndIconOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // do some code
            }
        });
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你..