Framework of Android:Butterknife
2015-10-06 22:34
543 查看
有没有被重复而又繁琐的findViewById()和各种点击事件所困扰,这些代码明显显得过于冗余和繁琐,有没有什么好的办法避免它们呢?答案是肯定的,这就是这里要介绍的ButterKnife,从名字上来,它的确是一把好刀。
要使用它们还是很方便的,直接在gradle里加入dependency就好了。
官方的使用如下(如果是老版本的会是@injectView):
要使用它们还是很方便的,直接在gradle里加入dependency就好了。
官方的使用如下(如果是老版本的会是@injectView):
class ExampleActivity extends Activity { @Bind(R.id.title) TextView title; @Bind(R.id.subtitle) TextView subtitle; @Bind(R.id.footer) TextView footer; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.simple_activity); ButterKnife.bind(this);//初始化 // TODO Use fields... }
@Override public void onDestroyView() { super.onDestroyView(); ButterKnife.unbind(this); }}
这样就可以代替findViewById来初始化各种控件了。
当然你要同时声明多个时可以如下操作:
@Bind({ R.id.first_name, R.id.middle_name, R.id.last_name }) List<EditText> nameViews;
控件的点击监听也可以注入
@OnClick(R.id.submit) public void submit() { // TODO submit data to server... }
@OnClick(R.id.submit) public void sayHi(Button button) { button.setText("Hello!"); }
当然不止这些用法了,详细的看官网吧 http://jakewharton.github.io/butterknife/
对了最后在介绍个配套的plugins:Android Butterknife Zelezny 有了它就可以自动添加@Bind了
相关文章推荐
- android源码编译出错(1)
- Android Studio导入SlidingMenu类库的方法(其他类库应该也适用)
- adb命令查看报名和查看手机分辨率
- Android横竖屏相关
- 获奖转盘学习的要点记录
- 【Android应用源码分析】Java多线程:线程本地变量ThreadLocal源码分析
- Android Studio 之路1
- Android ImageView的setImageLevel和level-list使用简介
- Android内存优化之OOM
- Android使用procrank和dumpsys meminfo分析内存占用情况
- android 常用时间格式转换代码大全
- android手游渠道接入业务+技术全讲解
- Android Adapter以及getView()方法的理解
- 在Android中操作JSON数据
- Android中ListView包含CheckBox时滑动丢失选中状态的解决
- RecyclerView学习和使用(基本使用)
- AndroidStudio 中引用so文件并使用
- Android TabLayout定制CustomView与ViewPager交互双向联动
- Android 学习笔记三:Activity
- Android 学习笔记二:Android项目的结构