首页 > 解决方案 > Android EditText点击事件第二次触发

问题描述

我有一个EditText内部 aRelativeLayout是 a 的子级ScrollViewRelativeLayout有一个列表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>

标签: androidandroid-edittext

解决方案


改变clickable=falsefocusable=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)" />

推荐阅读