How to do something after user clicks on my EditText(用户点击我的 EditText 后如何做某事)
问题描述
我有一个显示时间的 EditText
.用户单击 EditText
后,我想显示一个 TimePickerDialog
,因此我将 View.OnClickListener
设置为我的 EditText
.
I have an EditText
that shows time. After user clicks the EditText
I want to show a TimePickerDialog
, so I set a View.OnClickListener
to my EditText
.
但是 OnClickListener
的行为很奇怪 - 我触摸 EditText
然后出现软件键盘(我不想要).当我再次触摸时, OnClickListener.onClick()
终于被调用并出现对话框.
But the OnClickListener
is behaving weirdly - I touch the EditText
and then software keyboard appears (which I don't want). When I touch again, OnClickListener.onClick()
is finally called and the dialog appears.
如果我想让对话框立即出现怎么办?
What should I do if I want the dialog to appear immediately?
推荐答案
与大多数其他控件不同,EditText
在系统处于触摸模式"时是可聚焦的.第一个单击事件聚焦控件,而第二个单击事件实际上触发 OnClickListener
.如果您使用 android:focusableInTouchMode
View 属性禁用触摸模式焦点,则 OnClickListener
应该会按预期触发.
Unlike most other controls, EditText
s are focusable while the system is in 'touch mode'. The first click event focuses the control, while the second click event actually fires the OnClickListener
. If you disable touch-mode focus with the android:focusableInTouchMode
View attribute, the OnClickListener
should fire as expected.
<EditText
android:text="@+id/EditText01"
android:id="@+id/EditText01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusableInTouchMode="false" />
这篇关于用户点击我的 EditText 后如何做某事的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:用户点击我的 EditText 后如何做某事
基础教程推荐
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01