使用ButterKnife注解框架实现View的点击操作
2015-07-15 23:50
330 查看
使用ButterKnife注解式框架可以简化代码的书写,尤其是对一些控件的操作。不再需要findViewById(...),setOnClickListener(...),内部类,实现接口等方法来设置View的监听器。使代码更为简洁高效。
Android中的控件统称为View。本案例将会选择Button来简单模拟View被点击的过程。具体实现代码如下:
public class MainActivity extends Activity {
/**
* 在这里变量和xml控件进行了绑定,从某种意义上说,可以理解为执行了findViewById();
*/
@InjectView(R.id.id_btn)
Button btn;// 注意:这里btn的类型不能为private 或static类型;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(MainActivity.this);// 表示要对哪个Activity起作用;参数也可以直接为this;
}
/**
* 在这里执行点击操作;从某种意义上说,可以理解为执行了setOnClickListener();
*/
@OnClick(R.id.id_btn)
public void myClick() {// 可以任意写一个方法,实现点击按钮的具体业务逻辑;
Toast.makeText(MainActivity.this, "你好,按钮被点击了", Toast.LENGTH_SHORT)
.show();
}
}
程序运行后,点击按钮,会Toast出一句话,实现效果如下:
。
程序成功执行了点击按钮并响应的过程。由此可见,使用注解还是比较简洁的。使用更为复杂的注解,请听下回分解。
附BufferKnife下载地址:http://pan.baidu.com/s/1o6ikDdg
Android中的控件统称为View。本案例将会选择Button来简单模拟View被点击的过程。具体实现代码如下:
public class MainActivity extends Activity {
/**
* 在这里变量和xml控件进行了绑定,从某种意义上说,可以理解为执行了findViewById();
*/
@InjectView(R.id.id_btn)
Button btn;// 注意:这里btn的类型不能为private 或static类型;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(MainActivity.this);// 表示要对哪个Activity起作用;参数也可以直接为this;
}
/**
* 在这里执行点击操作;从某种意义上说,可以理解为执行了setOnClickListener();
*/
@OnClick(R.id.id_btn)
public void myClick() {// 可以任意写一个方法,实现点击按钮的具体业务逻辑;
Toast.makeText(MainActivity.this, "你好,按钮被点击了", Toast.LENGTH_SHORT)
.show();
}
}
程序运行后,点击按钮,会Toast出一句话,实现效果如下:
。
程序成功执行了点击按钮并响应的过程。由此可见,使用注解还是比较简洁的。使用更为复杂的注解,请听下回分解。
附BufferKnife下载地址:http://pan.baidu.com/s/1o6ikDdg
相关文章推荐
- CSS3实现的响应式字体:自适应视图窗口大小的新单位
- HTML5 input事件检测输入框变化
- 用NodeJS搭建一个内容管理系统(v0.0.1)
- js里面的实例方法和静态方法
- c#学习笔记(一):提交Json和解析Json
- CSS 小知识
- ReactEurope Conf 参会感想
- Jquery小知识
- Django 模板中引用静态资源(js,css等)
- ASP.NET 异步Web API + jQuery Ajax 文件上传代码小析
- 工作中的问题---通过泛型添加组件,JsonFX的使用
- jquery 连接在div中显示
- jQuery提交form表单
- jQuery提交form表单
- jQuery提交form表单
- jquery中的$(function(){});函数
- jQuery提取元数据Metadata插件
- angularjs应用骨架(4)
- HTML中显示的文字自动换行
- jQuery使用技巧