首页
学习
活动
专区
圈层
工具
发布

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源码解析】 自定义可清除的输入框

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

92410
  • 解决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?)

    3K20

    《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

    50240

    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.4K30

    笔记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焦点发生变化的时候

    76040

    Android开源库:手把手教你实现一个简单好用的搜索框(含历史搜索记录)

    源码分析 分析1:EditText_Clear.java 作用:自定义EdiText,与系统自带的EdiText对比:多了左侧图片 & 右侧图片设置、一键清空EdiText内容功能 具体代码如下: public...setCompoundDrawablesWithIntrinsicBounds(Drawable left, Drawable top, Drawable right, Drawable bottom)介绍 // 作用:在EditText...X轴上的起点 y:组件在容器Y轴上的起点 width:组件的长度 height:组件的高度 } /** * 步骤3:通过监听复写EditText本身的方法来确定是否显示删除图标...对于含有一键清空功能 & 更多自定义样式的EditText自定义控件具体请看我的另外一个简单 & 好用的开源组件:Android自定义EditText:手把手教你做一款含一键删除&自定义样式的SuperEditText...下一篇文章我将继续进行一些有趣的自定义View实例讲解,有兴趣可以继续关注Carson_Ho的安卓开发笔记 更多简单好用的开源库:简单 & 好用的开源组件: 自定义EditText:手把手教你做一款含一键删除

    3.3K10

    山川湖海 - Android无障碍功能优化实践

    对于一些视障人群或者听障人群而言,普通的App对它们来说使用起来可能困难重重。在 Android 上,对于这些用户用户而言,主要通过系统附带的屏幕阅读器 TalkBack 来进行控制设备。...无障碍模式开发准则 遵循 Material 中的无障碍开发规则 为 非Text 类的 View 增加合适的 contentDescription 对于一些 装饰性的UI元素 去掉标签及焦点 EditText...双击进入下一步 对于视障用户而言,这将提高他们的使用便利度,以方便他们的使用。...相应的,某些业务规则下,如果并不想其在无障碍下被选中,比如 [微博] 此时如果没有安装,则可以 忽略其焦点 及 禁用 在无障碍下的可访问性: android:focusable="false" android...所以如果你的某个 View 具有 行为 作用,或者代表着是一个自定义的 按钮 ,那么就可以重写你所自定义View的这个方法,返回 Button ,或者 ImageButton ,这样在无障碍模式下,其就会被系统判断为是一个具有交互作用的按钮

    89721

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

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

    2K30

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

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

    2.8K20

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

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

    1.3K20

    按钮和复选框控件

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

    1.5K20

    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上、下、左、右设置图标

    2K30

    Android富文本编辑器

    Android富文本编辑器,一款支持撤销、加粗、斜体、下划线、有序无序列表、对齐、改文字大小、改文字颜色、插入图片、插入视频等功能,并且可设置cookie,自定义素材操作菜单的的编辑器。..._ffffff)); //禁止编辑 包括长按复制、双击选中、点击 mEditor.disableEdit(); //配置同一界面的焦点切换,可传多个输入框控件 mEditor.hideWhenViewFocused...((editText1, editText2, editText3, ...); 3.编辑器操作 //撤销 mEditor.undo(); //反撤销 mEditor.redo(); //加粗 mEditor.setBold...的shouldInterceptRequest方法中,针对url设置cookie,但是cookie同步不及时,导致部分图片无法加载,后来考虑在加载图片前,先设置cookie,那么得出解决方案,先清除原来的...cookie,然后为图片的ip地址设置新cookie,就可以访问了,这个方法在Webview.loadUrl()方法前调用即可。

    2.8K30

    Android富文本开发

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

    9K20

    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

    3K30
    领券