ButterKnife-ButterKnife的使用

使用原因

  • 简化绑定View的操作,减少代码量(减少findViewById)的使用。
  • 简化事件的监听。

使用场景

  • Activity
  • Fragment
  • Adapter
  • 自定义View
  • 其他

在项目中使用ButterKnife

在build.gradle中,加入以下代码。

implementation 'com.jakewharton:butterknife:(insert latest version)'
annotationProcessor 'com.jakewharton:butterknife-compiler:(insert latest version)'

关于insert latest version可在官网查看。
在这里插入图片描述
在这里插入图片描述
完成之后就可以在项目中使用ButterKnife了,在使用完注释绑定相应的资源和事件后,还需要在onCreate方法中绑定当前对象。

class ExampleActivity extends Activity {
  @BindView(R.id.title) TextView title;
  @BindView(R.id.subtitle) TextView subtitle;
  @BindView(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...
  }
}

绑定试图及资源

标签说明
@BindView(int ID)绑定一个视图
@BindViews(int[] ID)绑定多个同类视图,返回一个数组
@BindAnim(int ID)绑定一个动画资源
@BindBitmap(int ID)绑定一个位图资源
@BindColor(int ID)绑定一个颜色资源
@BindDrawable(int ID)绑定一个Drawable资源
@BindString(int ID)绑定一个String资源
@BindFloat(int[] ID)绑定一个Float资源
@BindBool(int ID)绑定一个Bool资源
@BindArray(int ID)绑定一个Array资源
@BindInt(int ID)绑定一个Int资源

绑定事件

以绑定点击事件为例子,如下:

public class MainActivity extends AppCompatActivity {

    @OnClick(R.id.text_view)  //绑定该事件的View的ID
    public void changeText(TextView textView){  //如果需要使用到这个View,可以在参数中之间声明。判定方法不能声明为private
        textView.setText("123456");
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(MainActivity.this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值