首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EditText在自定义复合视图中未获得焦点

EditText是Android开发中常用的一个UI控件,用于接收用户输入的文本。在自定义复合视图中,如果EditText未获得焦点,可能是由于以下几个原因:

  1. 父视图或其他控件获取了焦点:当父视图或其他控件获取了焦点时,EditText可能无法获得焦点。这可能是因为父视图或其他控件设置了可获得焦点的属性,或者在代码中通过调用requestFocus()方法获取了焦点。
  2. 自定义视图的焦点处理逻辑:在自定义复合视图中,可能存在自定义的焦点处理逻辑。这可能是通过重写onFocusChanged()方法或者使用OnFocusChangeListener接口来实现的。在这种情况下,需要检查自定义视图的焦点处理逻辑,确保EditText能够正确地获得焦点。
  3. EditText的属性设置问题:检查EditText的属性设置,确保其可获得焦点。可以通过设置android:focusable="true"android:focusableInTouchMode="true"属性来确保EditText可以获得焦点。

针对以上问题,可以采取以下解决方案:

  1. 确保父视图或其他控件不会获取焦点:检查父视图或其他控件的属性设置,确保其不会获取焦点。如果需要让EditText获得焦点,可以将父视图或其他控件的焦点属性设置为false
  2. 检查自定义视图的焦点处理逻辑:如果存在自定义视图的焦点处理逻辑,检查其实现代码,确保EditText能够正确地获得焦点。可以通过调用requestFocus()方法或者设置OnFocusChangeListener来实现。
  3. 检查EditText的属性设置:确保EditText的属性设置正确,使其可以获得焦点。可以设置android:focusable="true"android:focusableInTouchMode="true"属性。

腾讯云提供了丰富的云计算产品和服务,其中与Android开发相关的产品包括云服务器、云数据库、云存储等。您可以通过以下链接了解更多关于腾讯云相关产品的信息:

  • 腾讯云云服务器:提供可扩展的云服务器实例,适用于各种应用场景。
  • 腾讯云云数据库:提供高性能、可扩展的云数据库服务,支持多种数据库引擎。
  • 腾讯云云存储:提供安全可靠的云存储服务,适用于存储和管理各种类型的数据。

以上是针对EditText在自定义复合视图中未获得焦点的问题的解答。如果还有其他问题或需要进一步了解,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android中的视图焦点Focus的详细介绍

非触摸屏设备中接收事件和处理响应的控件是具有焦点(Focused)的控件。一个窗口中一个时间内只能有一个具有焦点的控件。...而在触摸设备上通常默认情况下只有EditText控件才具有焦点,而我们通常会遇到的一个问题就是当进入一个具有EditText的界面时键盘就会自动弹出,而且有时候可能无法消失,但需求可能是进入时不弹出键盘...下面是几个关于焦点特性的描述: ViewGroup中有一个mFocued成员来保存子视图中哪个子视图是具有焦点的视图,并且这样一直会递归下去。...//获取视图是否触摸模式下获得焦点 public final boolean isFocusableInTouchMode() 因此触摸设备下,一个视图要想获得焦点必须要setFocusable...因为默认的EditText是一个可成为焦点的视图,这样根据规则当界面展示时就会成为一个焦点视图从而弹出键盘,这样即使对EditText调用clearFocus也因为规则导致他还是焦点视图。

2.4K20

Android如何自定义EditText光标与下划线颜色详解

2、自定义光标颜色 EditText 有一个属性:android:textCursorDrawable ,它就是用来设置光标样式的。...网上有些自定义EditText下划线的教程就是这样操作的,先把背景去除,再在下面加一个横线。这样的操作未尝不可,但是为了美观,还是得重新设置间距值。。...4、自定义主题修改下划线 还记得刚才我们创建MainActivity时要继承AppCompatActivity吗?到了这里就要揭晓答案了。...6、继承Activity时自定义下划线 前面我们做的自定义下划线操作都是继承AppCompatActivity的前提下,如果你改成Activity,然后Android5.0以下的手机运行的话,效果是这样的...然后布局文件中设置 android:background="@drawable/et_underline_selector" ,Activity的焦点监听代码删去就可以了。

5.3K51

关于EditText屏蔽焦点的问题,及为什么clearFocus()方法失效了?

我们有时候的需求时,EditText 不需要的时候,无法点击,或者取消它的默认焦点。 我们先看看通用解决方法。...而触屏手机,我们只需要对应用点击一次,即可,无需焦点。也就是会所焦点是为了标记你目前选中的位置的。而这个日历中却是有用的。...android:focusable=“true”不会改变android:focusableInTouchMode,因此只键盘状态下显示焦点TouchMode状态下,依旧无法显示焦点。...(FOCUS_AFTER_DESCENDANTS); 问题定义:比如我们有EditText,由一个switch控制,当switch关闭时,editText可以输入,有焦点,否则无法点击,无焦点。...rootViewRequestFocus())) { notifyGlobalFocusCleared(this); } } } 这里清除视图中焦点

1K20

【Android源码解析】 自定义可清除的输入框

,可以输入框的旁边放一个小的清除图片,然后给Edittext和清除的小图片放到布局中,给布局来一个背景图片,看起来也比较美观的,然后根据edittext.getText().length来设置小图片是否可见...但是随着自己见得多了就发现这样虽然也能实现,真的很水,所以就想着自定义一个能清除的Edittext。...下面说一下自己的思路: 1.首先自定义组件继承edittext 2.重写构造方法,初始化一个清楚按钮的小图标,并设置它的位置 3.监听edittext焦点改变,根据焦点变化显示隐藏小图标 4.重写一个小图标的按钮点击事件...贴上部分代码: /** * 这里我们不能设置edittext的点击事件,所以我们可以这样做一下: * 当我们按下的位置 是(输入框的宽度-图标的宽度-图标距离右侧的宽度)和(输入框的宽度...的焦点变化改变图片的显示与否,输入框里的字符串长度如果大于0,显示,否则隐藏 * by Hankkin at:2015年8月11日 16:32:47 * @param v

80210

Android自定义EditText:手把手教你做一款含一键删除&自定义样式的SuperEditText

前言 Android开发中,EditText的使用 非常常见 本文将手把手教你做一款 附带一键删除功能 & 自定义样式丰富的 SuperEditText控件,希望你们会喜欢。 ?...简介 一款 附带一键删除功能 & 自定义样式丰富的 SuperEditText控件 已在Github开源:Super_EditText,欢迎 Star ! ? ---- 2....特点 对比市面上EditText控件,该控件Super_EditText 的特点是: 3.1 功能实用 一键删除功能 需求中非常常见,现将其封装后更加方便使用 可自定义样式程度高(比自带的强大 & 方便...),不复杂却能满足一般的EditText使用需求 可自定义样式如下:(注:该样式的设置是系统自带的 API 所不具备的) ?...(Drawable left, Drawable top, Drawable right, Drawable bottom) // 作用:EditText上、下、左、右设置图标

1.8K30

Android自定义EditText:手把手教你做一款智能EditText(一键删除、自定义样式)

前言 Android开发中,EditText的使用 非常常见 本文将手把手教你做一款 附带一键删除功能 & 自定义样式丰富的 SuperEditText控件,希望你们会喜欢。...简介 一款 附带一键删除功能 & 自定义样式丰富的 SuperEditText控件 已在Github开源:Super_EditText,欢迎 Star ! 2....特点 对比市面上EditText控件,该控件Super_EditText 的特点是: 3.1 功能实用 一键删除功能 需求中非常常见,现将其封装后更加方便使用 可自定义样式程度高(比自带的强大 & 方便...),不复杂却能满足一般的EditText使用需求 可自定义样式如下:(注:该样式的设置是系统自带的 API 所不具备的) 3.2 使用简单 仅需要简单的xml属性配置 具体请看文章:Android自定义...View:你需要一款简单实用的SuperEditText(一键删除&自定义样式) 3.3 二次开发成本低 本项目已在 Github上开源:Super_EditText 具备详细的源码分析文档(即本文)

1.1K30

Android开发之如何自定义数字键盘详解

当然如果对特定行的宽高要有所调整,可以Row 或者key上设置,例如我们示例图中展示的最上面的一行,它的宽度比其它行都低了一点,则我们第一行设置了属性android:keyHeight="6%p"...,只需要继承该类并实现该监听接口即可,当然我这里并没有实现接口,我单独创建了一个工具类,用于将自定义键盘View和EditText关联,并设置接口监听,这些稍后介绍到再说,我们最主要关注的就是onDraw...除此之外,我们创建一个函数attachTo(EditText)将EditText与我们自定义的键盘绑定 fun attachTo(editText: EditText) { //如果editText与上次设置的是同一个对象...Log.e(TAG, "attachTo") //根据焦点及点击监听,来显示或者隐藏键盘 onFoucsChange() //隐藏系统键盘 hideSystemSoftKeyboard() //显示自定义键盘...setOnClickListener { Log.e(TAG, "setOnClickListener") //根据上面焦点的判断,如果已经获取到焦点,并且键盘隐藏。

2.9K21

Android开发笔记(一百四十六)仿支付宝的支付密码输入框

图中可以看出,这个支付密码输入框由六个方格组成,每个方格输入并显示第几位的密文字符。...当然,界面展现上,需要以横排方格的形式加以显示。于是可以考虑,把支付密码的输入与显示操作分离开来,即密码输入操作仍由EditText处理,而密码显示操作则由自定义的方格布局接管。...对于处理密码输入的EditText来说,需要实现以下几项操作: 1、把默认的下划线背景替换为圆角背景,且支持获得焦点时高亮显示; 2、屏蔽输入光标,可调用setCursorVisible方法设置为不可见...其次,对于支付密码输入框的焦点获得问题,因为该输入框内部集成了EditText,所以不管是给输入框注册点击事件还是触摸事件,手势焦点都会被内部的EditText所抢占,使得密码输入框反而不会响应点击和触摸事件...boolean onInterceptTouchEvent(MotionEvent ev) { return true; } 2、给支付密码输入框以及其它编辑框控件注册触摸监听器,并对触摸动作进行处理,触摸密码输入框时强行使之获得焦点

1.8K30

《Android》Lesson20-广播2

Week11  2016/11/24上午1-4节 一、复习上次课内容 《Android》Lesson19-广播1 - 简书 二、自定义广播 (1)新建Project:AndroidLesson20Broadcast2...Action (4)新建MyBroadcastReceiver类 (5)AndroidManifest.xml文件标签中注册receiver(静态注册) (6)改成动态注册 三、实现强制下线功能 1、...(2)editText.requestFocus();获取焦点 android editText 获取焦点 - lucky8star的专栏 - 博客频道 - CSDN.NET Android...中EditText中字体颜色的selector - 博客频道 - CSDN.NET (3)editText改变字体颜色 SpannableString ss = new SpannableString...WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); android dialog使用小结 - minenamewj的专栏 - 博客频道 - CSDN.NET 解决BroadcastReceiver

44640

Android开发笔记(一百四十八)自定义输入法软键盘

3、系统软键盘会自动响应EditText焦点变更事件,常常在意料之外突然之间蹦出来,弄得开发者要么剥夺EditText焦点,要么强行关闭软键盘显示,但无论哪种方式都得开发者强行**,很不方便。...其实它跟平常的自定义控件基本类似,只细节上有所差异,下面分步说明自定义软键盘的过程。 1、我们知道,自定义控件要么重写onDraw方法来绘制控件界面,要么从layout布局文件中加载控件界面。...3、软键盘不是一个孤立的控件,它的按键动作需要实时某个编辑框中把数字显示出来,所以使用时还得给它绑定一个EditText,这样软键盘才知道我的按键要输出给这个EditText,而不是输出给那个EditText...接下来阐述自定义软键盘的三个步骤,首先要定义软键盘的布局文件,res/xml目录创建名为inputkeyboard.xml的文件,内部的根节点为Keyboard,其下挂了四个Row节点表示有四行,每个...这部分代码补充到前面的自定义控件类KeyboardLayout之中: public void setInputWidget(EditText et) { mKeyboardView.setOnKeyboardActionListener

2.4K30

解决android中EditText设置末尾省略号不生效的情况

Textiew中可以通过设置TextView的属性 android:maxEms 和 android:ellipseize 来使过多的文字显示为省略号,但在在EditText中设置只这两个属性则不行,...android默认只有文字不可编辑的状态下才可以显示这些效果,但是EditText重写了这个属性,使得文字默认都是可以编辑的。...所以若想要呈现TextView的效果,必须加上以下属性 android:editable= "false" 另外EditText不支持跑马等的效果.咱们来看看android源码 override public...这里呢, 建议大家自定义EditText并重写onTouchEvent方法,从外部进行控制是否获取焦点, 如下: class FocusEditText(context: Context, attrs:...AttributeSet) : EditText(context, attrs){ override fun onTouchEvent(event: MotionEvent?)

2.5K20

按钮和复选框控件

这个是当一个组件可以checked或不可以checked的时候的状态,现在较常见的,能够checkable的组件有,单选项和多选项,所以这个属性只有设置像这类组件上面才有作用的。...android:state_focused 设置是否获得焦点状态,true表示获得焦点,默认为false,表示未获得焦点。...android:state_window_focused 设置当前窗口是否获得焦点状态,true表示获得焦点,false表示未获得焦点,例如拉下通知栏或弹出对话框时,当前界面就会失去焦点;另外,ListView...这个是是否对当前界面是否得到焦点的两种状态的设置,比如说当我们打开一个界面,那么这个界面就获得了焦点,如果我们去把“通知”拉下来,那么这个界面就失去焦点,或者弹出了一个对话框,那么这个界面也失去焦点了。...Button和EditText一样,也是TextView的之类,因此也可以采用与TextView、EditText同样的方式实现图文混排(我写的这个demo2.3的SDK中运行OK。

1.2K20

笔记22 | 学习整理开源APP(BaseAnimation)程序源码“中的通讯录效果(三)

---- 3.目录 3.1 A-Z的字母索引 3.2 联系人界面ListView的数据填充 3.3 联系人的搜索 3.1 A-Z的字母索引 通过自定义一个View界面,绘制一个A-Z竖向排列的布局,通过触摸事件监听...加载联系人的方法容易理解,排序》加载》处理 >笔记21 | 学习整理开源APP(BaseAnimation)程序源码“中的通讯录效果(二) ---- 3.3 联系人的搜索 搜索部分难点是拿出搜索的内容,首先自定义了...EditText public class ClearEditText extends EditText implements OnFocusChangeListener, TextWatcher...* 当我们按下的位置 EditText的宽度 - 图标到控件右边的间距 - 图标的宽度 和 * EditText的宽度 - 图标到控件右边的间距之间我们就算点击了图标,竖直方向没有考虑...} } return super.onTouchEvent(event); } /** * 当ClearEditText焦点发生变化的时候

64340

Android富文本开发

如果一个富文本是:文字1+图片1+文字2+文字3+图片3+图片4;那么使用LinearLayout包含多个EditText实现的难点: 如何处理记录当前的焦点区域 如何处理文字区域的中间位置插入ImageView...对于光标前面的字符串保留,设置给当前获得焦点EditText(此为分割出来的第一个EditText) 把光标后面的字符串放在新创建的EditText中(此为分割出来的第二个EditText第二个...,这种用户交互方式,往往不是产品想要的,往往会提出以下优化需求: 需求1:editText获取焦点,但是不弹出软键盘(也就是说光标显示第一个输入框,不主动弹软键盘) 第一个输入框的最直接父布局加入:android...:windowSoftInputMode="stateAlwaysHidden" (效果:软键盘不弹出,光标显示第一个输入框中) 需求2:editText不获取焦点,当然软键盘不会主动弹出(光标也不显示...,ps非直接父布局没有效果) 父布局最顶部添加一个高度为0的EditText,抢了焦点但不展示; 软键盘遮挡界面的问题 当界面中有输入框,需要弹起软键盘输入信息的时候,软键盘可能遮挡部分布局,更有甚者

8.4K20
领券