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

Android EditText 获得输入焦点 以及requestfocus()失效的问题

最近做公司项目的时候,经常会遇到一个问题,就是我为某个控件如EditText设置requestfocus()的时候不管用,比如说登陆的时候,我判断下用户输入的密码,如果正确就登陆,错误就提示密码错误,...并且输入框获取焦点,但是实际中确不起作用 package com.example.hfs.requestfocusdemo; import android.content.Intent; import...android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import...android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity...加载刷新UI的时候,是从左到右,从上到下的顺序,正在加载的过程中,如果此时requestFocus(),的话,有可能此时还没把整个界面刷新好,导致requestFocus无效。

3K60

解决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.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Appium Desktop 使用

    Appium Desktop 元素定位 与Android的uiautomatorviewer一样,可进行元素定位,某些app 在 uiautomatorviewer中获取不到元素,小编这里就遇到获取某个页面元素时...录制脚本 支持多种语言,语言可自己选择,目前这个功能只做学习的工具,不能够作为代码生成器(In sum, it is a learning tool, not a robust code generation...点击 Swipe By Coordinates,模拟手指在手机上的操作,点击开始点和结束点实现滑动 操作元素 点击某个元素进行下一步操作,比如例子中定位到密码框,输入密码,清除文本框内容等操作。...录制脚本 点击脚本录制按钮,对元素进行操作,脚本录制语言是可选择的。...我这里是选择Python,操作了输入账号与输入密码 生成的示例代码如下: # This sample code uses the Appium python client# pip install Appium-Python-Client

    1.6K80

    Redis中的Stream数据类型作为消息队列的尝试

    Redis的List数据类型作为消息队列,已经比较合适了,但存在一些不足,比如只能独立消费,订阅发布又无法支持数据的持久化,相对前两者,Redis Stream作为消息队列的使用更为有优势。...最后的历史消息如何归档,如何持久化存储? 文字直播其实就是解说员作为生产者,生产消息(文字信息),各种客户端作为消费者,消费信息(刷新文字内容)。...典型的消息队列实现,可以用队列或者类似队列的功能实现,这里只是简单想象一下,结合redis中的stream数据类型,来学习stream作为消息队列的功能实现。 ?...3 多消费者xgroup :消费组,每个组中的消费者独立消费stream中的消息 典型的比如文字直播的安卓App客户端,苹果App客户端,网页客户端等等。多个终端,都可以独立地消费队列里面的 ?...,跟着一系列value(消息),这些消息只能存储在一个Redis实例中,如何缓解多个消费者对单个Key值中的消息消费压力?

    1.3K20

    【FFmpeg】音视频录制 ① ( 查询系统中 ffmpeg 可录制的音视频输入设备 | 使用 ffmpeg 命令录制音视频数据 | 录制视频数据命令 |录制音频数据| 同时录制音频和视频数据命令 )

    一、查询系统中 ffmpeg 可录制的音视频输入设备 在 Windows 系统中 , 使用 ffmpeg 命令 录制 音视频 , 需要先获取 系统的 音视频设备 信息 , 录制 音视频 本质上是从 系统音视频设备...中获取数据 ; 执行 ffmpeg -list_devices true -f dshow -i dummy 命令 , 可以获取 系统中 ffmpeg 可用的 DirectShow 音视频输入设备 ;...的 输入格式为 gdigrab , Windows 上使用该方式捕获视频 , Linux 中设置的是 -f x11grab 参数 ; -framerate 30 : 设置 录制屏幕 的 帧率 为 30...也就是全屏录制 ; -video_size 1920x1080 : 设置 录制视频尺寸为 1920x1080 , 这也是屏幕的分辨率 ; -i desktop : 设置录制视频的 输入设备或文件 为系统桌面...(Realtek(R) Audio)" -c:a aac output.aac 命令 , 执行过程中 会停在一行中 , 实时显示视频录制的信息 , 参数解析 : -f dshow : 指定输入设备类型为

    55210

    1119Android开发笔记—EditTex多行输入及相关问题

    1、android里面EditTex多行输入及输入置顶问题         EditText           android:id="@+id/releasetContentE"          ...和maxLines的区别          android:minLines="3"          android:maxLines="3" 使用maxLines的EditText最大行数为3行,当输入的内容超过...3行后,它形状的大小不会根据输入内容的多少而改变,反正它显示的内容就是3行 而使用minLines的EditText是至它至少显示3行内容,当输入的内容超过3行后,它形状的大小根据输入内容的多少而改变。...="textVisiblePassword"//密码可见格式     android:inputType="textWebEditText"//作为网页表单的文本格式     android:inputType..."date"//日期键盘     android:inputType="time"//时间键盘  3、参考资料 android里面EditTex多行输入及输入置顶问题 android中minLines

    86410

    Android之TCP服务器编程android 之TCP客户端编程

    直接拿过来了 因为是服务器所以在布局文件里放一个button用于启动服务器;一个button用于发送消息;放一个edittext用于监听端口;一个edittext用于接收消息;一个edittext用于发送消息..."match_parent" android:layout_height="wrap_content" android:hint="输入要发送的消息:"...-- 接收消息框 --> EditText android:gravity="top"让消息每回都从编辑文本框的开头显示 android:id="@+id...对了有一点说错了是在 android 之TCP客户端编程   上的socket 其实socket这个类可以理解为(只要服务器和客服端建立连接就会建立socket),我们可以通过操作socket类中的方法得到我们想要的东西..."match_parent" android:layout_height="wrap_content" android:hint="输入要发送的消息:"

    6.8K60

    Android开发第六讲EditText 编辑框

    Android开发第六讲EditText 编辑框 一丶EditText编辑框属性 EditText 继承自 TextView 所以它的属性我们可以使用....那么说一下常用的属性吧 android:hint = "提示文字" 加上这个编辑框会提示你要输入的文字 android:inputType="textPassworld" 加上这个,表示编辑框输入的时候文字是密文密码形式...android:inputType 可以规定编辑框输入的各种形式.比如密码形式 指定输入数字等. android:drawableleft 可以给编辑框加图片.这样可以做一个很好的登录框 使用常用属性配合...是定义在EdtView中的.所以我们的代码要写在 EdtActive.java中 效果如下 ?...public void afterTextChanged(Editable editable) { } }); } } 在修改中输出消息

    1.1K20

    安卓应用安全指南 5.1 创建密码输入界面

    以下是一些在登录过程中需要注意的事项。 登录失败时的错误信息 在登录过程中,需要输入两个信息,ID(账号)和密码。 登录失败时有两种情况。 一个是 ID 不存在。...如果这两种情况中的任何一种,有所区分并显示在登录失败消息中,则攻击者可以猜测指定的 ID 是否存在。 为了阻止这种猜测,这两种情况不应该在登录失败消息中区分,并且该消息应该按照下面的方式显示。...消息示例:登录 ID 或密码不正确。 自动登录功能 存在一个功能,可以完成成功登录过程一次后,通过省略下次登录的 ID /密码输入来执行自动登录。自动登录功能可以省去复杂的输入。...此设置影响整个系统,并且它适用于使用EditText的密码显示功能的所有应用。 5.1.3.4 禁用屏幕截图 在密码输入屏幕中,密码可以在屏幕上清晰显示。...在处理个人信息的屏幕中,如果屏幕截图功能在默认情况下处于启用状态,则可能会从屏幕截图文件中泄漏,它存储在外部存储器上。因此建议对密码输入屏幕禁用屏幕截图功能。 通过附加下面的代码可以禁用屏幕截图。

    1.2K20

    TextInputLayout-Android M新控件

    就如你知道的,这个属性允许你在EditText的内容为空的时候显示一个自定义的提示。一旦用户开始输入,hint会消失。这并不理想,因为用户丢失了他们输入信息的上下文提示。...一个单一的EditText 在输入文字的时候会隐藏hint,而被包含在TextInputLayout中的EditText则会让hint变成一个在EditText上方的浮动标签。...需要的方法是setErrorEnabled和setError。 setError设置一个红色的错误消息,显示在EditText的下面。如果传入的参数为null,错误消息将清空。...现在我们定义了什么是错误的什么是正确的,也知道了如何获取EditText中的数据以及显示可能的错误,onClick方法的实现就很简单了。...设计范例中,控件的实现需要让用户在输入的过程中不会丢失上下文信息,它是在去年跟Material Design一起被谷歌介绍的。在这之前,没有让开发者将这个控件应用到实际项目中的支持库。

    77920

    android 之TCP客户端编程

    )上有一个网络应用程序A(通信端口5000),李四的电脑(ip:192.168.1.220)上有一个网络应用程序B(通信端口8000),张三给李四发消息,首先你要知道李四的ip地址,向指定的ip(李四ip...各位朋友有什么方便的方法请告知。 在布局文件里加入两个按钮(button),一个控制连接,一个控制发送消息;四个输入文本框(edittext),一个填写发送的信息内容,一个显示服务器发来的消息。... Socket(ipAddress, 8080);//创建连接地址和端口--------------就完了,客户端就去连接了 但是ip地址和端口被我们定死了,,,,可不好玩,我们就设置成获取ip文本框中的... IPEditText;//定义ip输入框 EditText PortText;//定义端口输入框 EditText MsgText;//定义信息输出框 EditText RrceiveText;//定义信息输入框...IPEditText;//定义ip输入框 EditText PortText;//定义端口输入框 EditText MsgEditText;//定义信息输出框 EditText RrceiveEditText

    2.2K80

    Android-浅谈广播机制,实现强制下线功能

    类似的工作机制其实很多,比如就像计算机的网络通信。 为了便于进行系统级别的消息通知,Android也有自己的一套类似的广播消息机制。...有序广播: 是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够接收到这条广播消息,当这个广播接收器中的逻辑执行完毕之后,广播才会继续传递。所以此时的广播接收器是有前后顺序的。...优先级别高的广播接收器就可以先接收到广播消息,并且前面的广播接收器还可以截断正在传递的广播,这样后面的广播接收器就无法接收到广播消息了。...接下来修改LoginActivity中的代码,如下所示: public class LoginActivity extends BaseActivity { private EditText accountEdit...,首先将 LoginActivity 的继承结构改为继承自 BaseActivity ,然后调用了 findViewById() 方法分别获取到输入框中的信息,然后再登录按钮里使用了一个简单的

    92130

    常见Button使用详解

    上界面布局中的第一个按钮是一个普通按钮; 第二个按钮通过background属性配置了背景图片,因此该按钮将会显示为背景图片形状的按钮; 第三个按钮综合了文字显示和背景图片...为了监听登录按钮的点击事件,在Java代码中为其添加点击事件监听器,具体代码如下: public class MainActivity extends AppCompatActivity { private...EditText mNameEt = null; // 用户名输入框 private EditText mPasswordEt = null; // 密码输入框 private Button...运行程序,分别在用户名输入框和密码输入框中输入相应信息,再点击登录按钮,可以看到下图所示界面效果。 ?...到此,最常用的三个组件TextView、EditText和Button都已经学习完成,你都掌握了吗?

    1.3K100

    搭建一个自动化框架(一)

    大家按照一定的规则,将自动化规模扩大,业务覆盖全,这样就可以代替手工测试了。 前面讲了如何录制,讲了一个最简单的框架。那我们现在动手搭建一个简单的自动化测试框架。...这里先介绍一下框架整体的功能,然后每个模块大概讲讲。 当然我搭建的框架不一定是很完美的。 ? 这里的代码还是上回用uiautomiator2录制的android的自动化脚本,在真机上运行很流畅。...[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[1]/android.widget.EditText[1]')....[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[2]/android.widget.EditText[1]')....[1]/android.view.View[1]/android.view.View[2]/android.widget.EditText[1]').click() d.send_keys(password

    61630

    【Android 异步操作】手写 Handler ( Message 消息 | ThreadLocal 线程本地变量 | Looper 中的消息队列 MessageQueue )

    文章目录 一、Message 消息 二、ThreadLocal 线程本地变量 三、Looper 中的消息队列 MessageQueue 一、Message 消息 ---- 模仿 Android 中的 Message...(t) 中 , 获取的 ThreadLocalMap 与 Java 中的 Map 集合没有任何关联 , 该类就是为了保存 线程本地变量而在 ThreadLocal 中设置的内部类 ; 在该 ThreadLocalMap...} // 如果不存在 Looper , 就创建一个 Looper sThreadLocal.set(new Looper()); } 三、Looper 中的消息队列...MessageQueue ---- 在 Looper 中首先要维护一个 ThreadLocal 线程本地变量 , 确保每个线程中都可以获取到一个该变量的独立副本 ; 维护消息队列 : 每个 Looper...中还要维护一个 MessageQueue 消息队列 , 用于存储从 Handler 中发送来的消息 ; 该消息队列 在 Looper 初始化时创建 ; package kim.hsl.handler;

    29200

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券