通常,将可聚焦,focusableIntouch可点击设置为false就足够了.但在这里它不起作用.
我希望父linearLayout也消耗EditText上的点击,但它不起作用……
<linearLayout androID:ID="@+ID/llText" androID:layout_wIDth="0dp" androID:layout_weight="1" androID:background="?attr/selectableItemBackground" androID:layout_height="match_parent" androID:orIEntation="horizontal"> <TextVIEw androID:ID="@+ID/tvText" androID:layout_wIDth="0dp" androID:layout_weight="1" androID:layout_height="wrap_content" androID:layout_gravity="center_vertical" androID:paddingRight="5dp" androID:text="@null" /> <EditText androID:ID="@+ID/etText" androID:inputType="none" androID:gravity="center_horizontal" androID:focusable="false" androID:focusableIntouchMode="false" androID:clickable="false" androID:layout_wIDth="wrap_content" androID:ems="4" androID:layout_gravity="center_vertical" androID:layout_height="wrap_content" /></linearLayout>
我尝试了editable = false和inputType = none但它不起作用.为什么不? EditText会消耗点击,而不会将其传递给它的父级.
编辑
我正在为linearLayout设置onClickListener,如果我直接按EditText,它就不起作用…
解决方法:
晚了,但也许别人需要这个信息.
设置focusable后,focusableIntouch可单击为false,在java代码中添加:
editText.setMovementMethod(null); editText.setKeyListener(null);
不要忘记保存这些值以便以后恢复它们:
mMovementMethod = mEditText.getMovementMethod(); mKeyListener = mEditText.getKeyListener();
总结 以上是内存溢出为你收集整理的android – 避免EditText使用click事件全部内容,希望文章能够帮你解决android – 避免EditText使用click事件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)