ButterKnife8.10的使用详解
来源:互联网 发布:网络彩票概念龙头股 编辑:程序博客网 时间:2024/06/04 18:07
1.ButterKnife的诞生
ButterKnife是一种最近火热的依赖注解开源框架,是由Square公司JakeWharton大牛开发贡献到github中,感谢大神给我们IT界带来福利,它被大伙称为最好用的View注入工具。
2.ButterKnife的使用详情(我的编译器tools是2.1.0版本)
根据ButterKnife官网解析,请参考jakeWharton大牛的github的分享,接下来我就以自己的理解来抛砖引玉。
1.在整个工程中进行如下配置(build.gradle
)
<span style="font-size:14px;">buildscript { repositories { mavenCentral() } dependencies { classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' }}</span>
2.在工程module中进行配置
apply plugin: 'android-apt'android { ...}dependencies { compile 'com.jakewharton:butterknife:8.2.1' apt 'com.jakewharton:butterknife-compiler:8.2.1'}
3.然后直接上主代码界面
1>对普通控件的绑定,例如Button,TextView,EditText等
<span style="font-size:14px;">public class MainActivity extends AppCompatActivity { //按钮注解 @BindView(R.id.mButton) Button sureBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); }}</span>2>对ViewHolder的绑定
public class MyAdapter extends BaseAdapter { @Override public View getView(int position, View view, ViewGroup parent) { ViewHolder holder; if (view != null) { holder = (ViewHolder) view.getTag(); } else { view = inflater.inflate(R.layout.whatever, parent, false); holder = new ViewHolder(view); view.setTag(holder); } holder.name.setText("John Doe"); return view; } static class ViewHolder { @Bind(R.id.title) TextView name; @Bind(R.id.job_title) TextView jobTitle; public ViewHolder(View view) { ButterKnife.bind(this, view); } }}3>对Listerner的绑定
@OnClick(R.id.submit)public void submit(View view) { // TODO submit data to server...}
3.一键生成注解
1.activity_main.xml文件:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="cute.zhangxing.com.butterknife.MainActivity"> <Button android:id="@+id/Btn" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <EditText android:id="@+id/et" android:layout_width="match_parent" android:layout_height="wrap_content" /></LinearLayout>2.点击File-->settings-->plugins,然后在搜索框搜索ButterKnife,然后会受到Zelezny插件,get it...
3.重启AS,然后鼠标放在activity_main上(图中红色区域)
4..右击选择generate
5.点击Generate ButterKnife Injections,一键生成所有注解
好了,今天就分享到这里,我是张星,欢迎大家的关注。
2 0
- ButterKnife8.10的使用详解
- butterknife8.4空指针异常的解决方法及使用详解
- ButterKnife8.0.2的使用例程
- 【Android】Android开发之著名框架ButterKnife的使用详解,butterknife8.1.0版本的使用方法
- Android框架ButterKnife的使用详解,butterknife8.x.x版本的使用方法
- Butterknife8.4.0(黄油刀)在Android Studio的配置和使用详解
- 使用ButterKnife8.4.0的gradle配置
- 最新版本ButterKnife8.4的使用
- 注解框架ButterKnife8.4.0的使用
- butterknife8.2.1使用注意事项
- Android ButterKnife8.2.1 使用
- ButterKnife8.4使用配置
- ButterKnife8.4.0使用
- butterknife8.4.0的配置使用以及在library中的使用
- ButterKnife8.0+ 与 Dagger2.+的使用踩过的坑
- 使用ButterKnife8以上版本,控件报空指针的问题
- 5.ButterKnife8.0版本(含)以后的使用注意事项
- android butterknife8.4配置使用时的问题
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- Java Web JavaMail 邮件发送
- PG学习第一篇:Install PostgreSQL 9.5 on CentOS 6.5
- 语音识别Kinect
- 正则表达式验证
- ButterKnife8.10的使用详解
- mongoDB的查询与修改
- JQ与Canvas
- 在Android Studio 运行的时候报E/dalvikvm: Could not find class 'xxx',
- 内置对象
- winform TabControl 添加关闭按钮 Add close button to TabControl TabPages - C#
- C#中Split用法(可以用在取小数点之前后之后)
- GitHub 优秀的 Android 开源项目
- java web项目的启动及初始化