如何执行单击TextInputLayout EndIcon按钮 [英] How to perform click on TextInputLayout EndIcon button

查看:122
本文介绍了如何执行单击TextInputLayout EndIcon按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I know that it is possible to perform a click on a view like this :

view.PerformClick()

我如何在 TextInputLayout EndIcon button 上执行此操作?

How do I do it on TextInputLayout EndIcon button?

更新

问题是我有很多InputLayouts,并使用通用函数像这样设置点击监听器

The problem is that I have a bunch of InputLayouts and use a generic function to set the click listeners on them like so

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

并使用类似这样的不同参数进行调用

and call it with different parameteres like this

setTextInputLayoutListeners(
    categoryInputLayout, categoryEditText, { onCategoryClick() }, { onCategoryClear() }
)
setTextInputLayoutListeners(
    dateInputLayout, dateEditText, { onDateClick() }, { onDateClear(calendar) }
)

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

so I'm looking for a generic solution, sort of

inputLayout.EndIcon.PerformClick()

推荐答案

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

希望有帮助.

这篇关于如何执行单击TextInputLayout EndIcon按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆