当requestFocus不能立马起作用时…

  不知道各位有没有遇到过这样的情况:
第一次一个apk界面,然后本来想在某处requestFocus()使之获得焦点来显示的,但是直接调用却不行,如图1所示。

图1 焦点的位置

出现这样的现象是Android加载刷新UI的时候,是从左到右,从上到下的顺序,正在加载的过程中,如果此时requestFocus(findViewById(C)),的话,有可能此时还没把整个界面刷新好,导致requestFocus无效。

因此我想到了一个比较取巧的方法,先异步延时200ms左右(人眼无法感受到200ms里的变化),然后再requestFocus,试了一下,果然可以,上代码如下,若大家有更好的方法,请与我联系,谢谢。

new Handler().postDelayed(new Runnable() {
  @Override
  public void run() {
    requestFocus(具体ID);
  }
}, 200);

原创文章,欢迎转载,转载请注明:blog.csdn.net/jjzhoujun2010

作者:Dream Fly

时间: 2024-11-10 10:08:14

当requestFocus不能立马起作用时…的相关文章

接口的作用(C#)

C#中的接口(Interface)对于很多初学者来说是个很容易迷糊的东西,使用起来很简单,无非就是定义接口,接口里面包含一些属性.索引器.事件和一些没有修饰符的方法,也没有方法的具体实现代码:然后在类中继承该接口,实现该接口中的所有属性.索引器.事件和方法的具体实现的代码(其实接口中只能这几个,一般我们用到的只有属性和方法所以在这里我就只跟大家分享其中的一种“方法”).接口的使用就这么简单,只要照着去写代码就行了:但没有真正认识到接口的作用的人,都会感觉没有用接口的必要:感觉多此一举,在没真正认

【ask】ghost分区还原win7出现蓝屏,试图加载CLASSPNP驱动时出现

1.最近由于需要把整个c盘备份了,然后还原在另一台机器上. 2.结果当然时出事了,开始一切如旧,但是机器重启后,蓝屏了. 3.哦,开始立马觉得可能时因为有些软件的驱动是装载d盘了. 4.赶紧把d盘也备份然后还原了,满心欢喜的觉得没问题了,接着可想而知继续蓝屏了. 5.这时候才开始冷静下来按通常步骤行事. 7.仔细看了看蓝屏提示,大概知道是驱动加载是的问题,于是想看看安全模式吧. 8.结果仍然蓝屏,但是看清楚是因为加载到CLASSPNP这个驱动出的问题. 9.开始错愕于为什么会是这个样子呢, [a

企业流程管理的作用

企业流程管理的作用 --摘自<公司开了,你该这样管理>作者:张国祥 流程管理的作用 阿基米德说:给我一个支点,我可以撬动地球!企业管理是不是也有支点呢?如果有支点,它应该是什么呢?支点一定是可以让人省事省力,即使没有四两拔千斤之效,也应该有事半功倍之能.结果,我们发现流程对于企业管理而言有快速增效之功,有让组织快速蜕变之力.流程就是企业管理的支点! 要改变珍珠的价值,就必须把一组珍珠串起来变成项链.项链中的单粒珍珠价值没有什么改变,但作为珍珠团队--项链的价值却比每一粒珍珠价值之和增值了很多,

运行时之关联对象

头文件: #import <objc/runtime.h> Objective-C 开发者习惯于警惕运行时的东西,理由是运行时改变了运行在它上面代码的实际结构. 另一方面,<objc/runtime.h> 的功能就是为应用或框架增加更强大的新特性,是其他的方式无法 实现的.同时它也可能破坏原来代码的逻辑结构,一切与之可能进行的交互,都将有可怕的副作用. 给我们带来极大的惶恐,因此,我们称之为浮士德,也是NSHipster读者经常被所要求的科目之一: 关联的对象.关联的对象或关联的引

android 加载数据或提交数据时显示转圈的提示页面

提前声明一下,本博客全是自己的理解,如果内容中有理解错误的地方,欢迎指正.另外,博客内容有参考其他博客,本博客只用来学习. 当我们进入到一个页面时,通常先会出现一个转圈的dialog,这是因为这个页面需要加载数据,为了防止数据加载完成前空白的页面,通常会先显示转圈的dialog,直到数据加载完成,圈消失.那么,这个转圈的dialog是怎么实现的呢? 首先,先写 显示转圈的layout:progress_hud.xml <span style="font-size:14px;"&g

android 播放视频

播放视频的两种方式: 使用VideoView播放视频(方便,推荐) 使用MediaPlayer和SurfaceView播放视频(早期的方式) 第一种方式: 使用VideoView播放视频的步骤如下: 在界面布局文件中定义VideoView组件,或在程序中创建VideoView组建 调用VideoView的如下两个方法加载指定视频 setVideoPath(String paht):加载path文件所代表的视频 setVideoURI(URI uri):加载uri所对应的视频 调用VideoVIe

[转]WebView使用

在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装成名为WebView的组件. WebView使用: (1)添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误.(2)在要Activity中生成一个WebView组件:WebView webView = new WebView(this); (3)设置WebView基本信息: webvi

[Java Concurrency in Practice]第五章 基础构建模块

基础构建模块 委托时创建线程安全类的一个最有效的策略,只需让现有的线程安全类管理所有的状态即可. 平台类库中包含了一个并发构建块的丰富集合,如线程安全的容器与同步工具. 5.1 同步容器类 分两部分,一是JDK1.0的Vector与Hashtable,另一个是JDK1.2才被加入的同步包装类Collections.synchronizedXxx工厂方法创建的.Collections.synchronizedXxx工厂方法构造出的容器返回的List与Set的iterator()与listItera

Mysql中-Xtrabackup备份和恢复应用

关于Xtrabackup(又或innobackupex)的介绍,详细参考官方文档 Xtrabackup安装指南 文件准备 [[email protected] ~]# cd percona-xtrabackup/ [[email protected] percona-xtrabackup]# ls libev-4.15-1.el6.rf.x86_64.rpm percona-release-0.1-4.noarch.rpm percona-xtrabackup-24-2.4.4-1.el7.x8