android - Android EditText点击事件第二次触发
问题描述
我有一个EditText
内部 aRelativeLayout
是 a 的子级ScrollView
。RelativeLayout
有一个列表EditText
。我的问题是EditText
在第二次点击时触发点击事件。
我用过android:focusable="true"
android:focusableInTouchMode="true"
属性,但没有运气。
我添加了代码。实际上,我在 EditText Click 事件上打开了 DatePickerDialog。这就是我禁用可编辑属性的原因。但是单击事件在第二次单击时触发并显示 DatePickerDialog。
<RelativeLayout android:layout_width="wrap_content"
android:padding="8dp"
android:layout_below="@+id/eight"
android:layout_marginTop="10dp"
android:background="@drawable/white_bg"
android:id="@+id/nine"
android:layout_height="wrap_content">
<EditText
android:id="@+id/lossDate"
android:layout_width="match_parent"
android:layout_height="40dp"
android:textSize="14sp"
android:layout_marginEnd="30dp"
android:layout_marginTop="5dp"
android:clickable="true"
android:editable="false"
android:inputType="none"
android:background="@drawable/transparent"
android:drawableStart="@drawable/ic_calendar"
android:drawablePadding="10dp"
android:hint=" Date Of Loss (Required)" />
<ImageButton
android:id="@+id/lossDateCancel"
android:layout_height="23dp"
android:visibility="invisible"
android:layout_centerVertical="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:background="@drawable/ic_cancel"
android:layout_width="23dp"/>
</RelativeLayout>
解决方案
改变clickable=false
和focusable=false
<EditText
android:id="@+id/lossDate"
android:layout_width="match_parent"
android:layout_height="40dp"
android:textSize="14sp"
android:layout_marginEnd="30dp"
android:layout_marginTop="5dp"
android:clickable="false"
android:editable="false"
android:focusable="false"
android:inputType="none"
android:background="@drawable/transparent"
android:drawableStart="@drawable/ic_calendar"
android:drawablePadding="10dp"
android:hint=" Date Of Loss (Required)" />
推荐阅读
- iphone - UITabbar 还使用额外的 UIButton [hell] swift 4 更改选项卡
- java - 如果在 Java/Android 中传递,请检查两个日期时间
- linux - 在 Linux 中更改 LANG 没有给出预期的结果
- jquery - 如果 id 在带有 jQuery 的数组中,则显示表格行
- javascript - 我们如何在不使用 Redux 的情况下在 react-native 中实现撤消/重做、图像旋转和放大和缩小方法
- outlook - 在不同计算机上的 Outlook 日历中关联会议
- javascript - 模板中的 Vue.js 动态数组不起作用
- android - 获取具有 Android 版本 8.1 的手机的 IMEI 号码作为 telephonyManager.getDeviceId(); 在 Marshmallow 之后已被弃用
- stackblitz - 在 stackblitz 上创建私人项目
- rest-assured - 如何使用 Restassured 执行 Ui 功能自动化测试?