android– 避免EditText使用click事件

android– 避免EditText使用click事件,第1张

概述通常,将可聚焦,focusableInTouch可点击设置为false就足够了.但在这里它不起作用.我希望父LinearLayout也消耗EditText上的点击,但它不起作用……<LinearLayoutandroid:id="@+id/llText"android:layout_width="0dp"android:layout_weight="1"android:backgro

通常,将可聚焦,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事件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1097446.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存