动态视图
2015-10-27 15:06
253 查看
(1)实质
就是通过java代码来控制页面
(2)分类
1)整体过程
1.创建控件;
2.触发init动作{
2.1。触发beforeInit动作;
2.2.读取XML属性配置信息;
2.3触发onInit动作;
}
2)区别
beforeInit因为是在读取xml中的配置之前执行的,所以有可能被xml中的配置所覆盖
onInit在读取xml之后执行的,所以结果肯定是onInit中设置的值
(3)实例
1)定义onInit(或beforeInit)方法
2)控件中设置listener
3)运行
(4)view监听
1)view也能够添加listener
2)动态在view中添加button实例
3)在java代码中获得其中的子控件
1>通过getComponent方法
最好不用
2>设置为方法参数
就是通过java代码来控制页面
(2)分类
1)整体过程
1.创建控件;
2.触发init动作{
2.1。触发beforeInit动作;
2.2.读取XML属性配置信息;
2.3触发onInit动作;
}
2)区别
beforeInit因为是在读取xml中的配置之前执行的,所以有可能被xml中的配置所覆盖
onInit在读取xml之后执行的,所以结果肯定是onInit中设置的值
(3)实例
1)定义onInit(或beforeInit)方法
package sample.dynamicView; import org.springframework.stereotype.Component; import com.bstek.dorado.common.event.DefaultClientEvent; import com.bstek.dorado.view.widget.base.Button; @Component public class DynamicView { public void onBtnInit(Button button) { button.setCaption("新增"); button.setWidth("200"); button.addClientEventListener("onClick", new DefaultClientEvent("dorado.MessageBox.alert('You clicked' + self.get('caption'))")); } public void beforeBtnInit(Button button) { button.setCaption("before init"); button.setWidth("200"); button.addClientEventListener("onClick", new DefaultClientEvent("dorado.MessageBox.alert('You clicked' + self.get('caption'))")); } }
2)控件中设置listener
3)运行
(4)view监听
1)view也能够添加listener
2)动态在view中添加button实例
@Component public class DynamicView { public void onViewInit(View view) { Button button = new Button(); button.setCaption("dynamic create"); button.setWidth("200"); button.addClientEventListener("onClick", new DefaultClientEvent("dorado.MessageBox.alert('You clicked' + self.get('caption'))")); view.addChild(button); } }view上添加:
3)在java代码中获得其中的子控件
1>通过getComponent方法
最好不用
2>设置为方法参数
public void onViewNewInit(View view,Button btn) { btn.setCaption("测试方法参数"); }注意:参数名称必须是控件的id
相关文章推荐
- Leetcode -- Insert Interval
- Java连接MySQL数据库
- order by
- 通过Ajax两种方式讲解Struts2接收数组表单的方法
- 记录自己的工作
- jQuery Validation Engine表单验证为false
- 系统管理员必学的30个Linux实用命令
- 微信公众平台新增图片上传接口 将自动过滤外链图片
- 常用的两种数据分区方法(以Teradata为例)
- LeetCode题解——Kth Largest Element in an Array
- MSSQL 基础知识 开窗函数over(),orcl分析函数over()
- Java常见内存溢出异常分析(OutOfMemoryError)
- 采用模拟微信实时通讯(一)
- QThread 的使用方法 注意事项
- 面试题
- inner join
- Ext JS 5的声明式事件监听
- jQuery单击按钮,按钮变,内容展开
- Android软件启动动画及动画结束后跳转的实现方法
- IOS中定时器NSTimer的开启与关闭