文档章节

使用isInEditMode解决可视化编辑器无法识别自定义控件的问题

yolinfeng
 yolinfeng
发布于 2015/06/19 16:53
字数 241
阅读 24
收藏 0

isInEditMode:

Indicates whether this View is currently in edit mode. A View is usually in edit mode when displayed within a developer tool. For instance, if this View is being drawn by a visual user interface builder, this method should return true. Subclasses should check the return value of this method to provide different behaviors if their normal behavior might interfere with the host environment. For instance: the class spawns a thread in its constructor, the drawing code relies on device-specific features, etc. This method is usually checked in the drawing code of custom widgets.


如果在自定义控件的构造函数或者其他绘制相关地方使用系统依赖的代码,会导致可视化编辑器无法报错并提示:Use View.isInEditMode() in your custom views to skip code when shown in Eclipse


比如:

public class LockRelativeLayout extends RelativeLayout {
private Handler mainHandler = null; //与主Activity通信的Handler对象



public LockRelativeLayout(Context context, AttributeSet attrs) {
super(context, attrs, 0);
mContext = context;
if (isInEditMode()) { return; }
mainHandler = ((SPActivity)mContext).getMHandler();
}

}

如果不加上if (isInEditMode()) { return; },标红处代码会导致可视化编辑报错


本文转载自:http://blog.csdn.net/lamp_zy/article/details/9405925

共有 人打赏支持
yolinfeng
粉丝 12
博文 196
码字总数 11946
作品 0
珠海
架构师
【学习笔记】WebDriver操作第三方控件

本文是风落几番(任健勇)老师的课程《从零学习selenium2(WebDriver)自动化测试系列视频课程》Lesson3-4第三方控件类操作的学习笔记 第三方控件的操作,不同控件的操作方法 一、上传控件 ...

lchydp
2017/10/03
0
0
jQuery的UI框架 Liger UI V1.3.2 发布

V1.3.2更新记录 核心 [优化]控件增加对data-XXX自动属性的加载 表单 [优化]所有异步加载数据组件都设置ajaxType参数 [优化]优化editorBulider(html自动表单创建自定义函数),使支持getData、...

笨蛋EGG
2015/12/30
3.9K
14
Web 快速开发平台 WebBuilder 7 发布

WebBuilder 是一款开源的可视化Web应用开发和运行平台。基于浏览器的集成开发环境,可视化和智能化的设计,能轻松完成Web应用和面向移动设备的应用开发;高效、稳定和可扩展的特点,适合复杂...

chenjiewb
2015/10/08
10.6K
7
Silverlight Gantt甘特图控件详细介绍

Silverlight Gantt甘特图是一款非常丰富,可定制,轻量级和高性能的控件。 项目甘特图: 可视化层次的任务列表。 可移动和拖拽调整条形图 可视化时间编辑器 编辑任务依赖关系 调整任务进度条 ...

yidongkaifa
2014/06/09
0
1
Android组合控件

Android组合控件 组合控件,顾名思义,多个控件组合成一个控件使用。比如,我们想要这样一个ImageView,图片的底部覆盖一个浮层,浮层上面显示一行文字,这个控件我们可以用TextView覆盖在I...

老萌主
2016/03/10
331
0

没有更多内容

加载失败,请刷新页面

加载更多

一次由HandlerInterceptor进行的深入思考

HandlerInterceptor 是SpringFramework为我们提供的拦截器,一般我们可以用来鉴权或者日志记录等。 它是一个interface,主要方法有: /** * Intercept the execution of a handler. Called...

kipeng300
32分钟前
1
0
cmd中查询mysql表出现中文乱码

问题:在pycharm中正常的fetchall拉取数据,能够正常显示,而在cmd中直接select却出现中文乱码。 解决思路:右键查看cmd命令窗口属性得到,cmd窗口默认编码是gbk(如下图所示),而设置的mys...

fang_faye
57分钟前
2
0
centOS 安装Python3与python2并存

centOS 安装Python3与python2并存 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环...

MedivhXu
今天
2
0
Spring JdbcTemplate模板模式与回调结合分析

在看Spring的JdbcTemplate的时候,看到其将模板模式和回调模式结合使用的实现,可以精妙的解决很多的问题。详见Spring中涉及的设计模式总结中的关于模板模式和回调模式结合的具分析,本文利用...

宸明
今天
1
0
docker update:更新一个或多个容器的配置

更新容器的配置 docker update:更新一个或多个容器的配置。 具体内容请访问:https://docs.docker.com/engine/reference/commandline/update/#options 语法:docker update [OPTIONS] CONTA...

lwenhao
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部