如何在TextInputLayout中设置setOnClickListener

7
ttilLastDate = (TextInputLayout) view.findViewById(R.id.tilLastDate);
tilLastDate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.v("PublishTask","has click");
            }
        });

为什么OnClickListener不起作用?


你能告诉我TextInputLayout在哪里吗? - Miguel Benitez
点击第二次时,请检查它是否有效。 - Mann
@Mann 是的,但为什么? - Zhang Huayan
@MiguelBenitez 在 LinearLayout 中使用 TextInputLayout - Zhang Huayan
@ZhangHuayan,那么,当您第二次单击时,它是否有效? - Mann
显示剩余4条评论
1个回答

3

我之前也遇到了同样的问题,我的解决方法是在TextInputLayout内部使用EditText的setOnFocusChangeListener

这是一个使用ButterKnife的例子。

布局如下:

                    <android.support.design.widget.TextInputLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1">

                        <android.support.design.widget.TextInputEditText
                            android:id="@+id/edit_text"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"/>
                    </android.support.design.widget.TextInputLayout>

监听器:
@OnFocusChange(R.id.edit_text)
public void actionOnEditText(View view, boolean hasFocus) {
    if (hasFocus)
        yourClickMethod();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接