Butter Knife 黄油刀大家应该都挺熟悉的,有这个之后,就不用写一堆的findViewById,体力活,最近试着玩玩Kotlin语言,也就尝试在Kotlin语言环境下使用ButterKnife,有一点小问题,解决并分享一下。
先看看java环境的用法
1.安装插件,然后重启Android studio。
安装插件.jpg
2.使用,点击一下在setContentView(R.layout.activity_main);然后快捷键Alt+insert。
Alt+insert.jpg
3.使用。
使用.jpg
4.完成
@BindView(R.id.circleView) CircleView circleView; @BindView(R.id.tv_test) TextView tvTest; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); } /* * 多个控件点击事件,会有大括号包起来,中间逗号隔开 * */ @OnClick({R.id.circleView, R.id.tv_test}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.circleView: break; case R.id.tv_test: break; } } @Override protected void onDestroy() { ButterKnife.bind(this).unbind(); super.onDestroy(); }
Kotlin环境
1.随意新建一个kotlin文件
new kotlin.jpg
2.然后工程会有几个地方变化
多了Configure.jpg
ok.jpg
module.jpg
project.jpg
3.添加对kotlin的支持
apply plugin: 'com.android.application' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' //控件插件 implementation 'com.jakewharton:butterknife:8.8.1' kapt 'com.jakewharton:butterknife-compiler:8.8.1' compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" }
添加kotlin支持.jpg
4.使用,直接用就好,不用再BindView了。
不需要BindView了.jpg
直接使用.jpg
5.注意要对应的xml,以免同样的控件id引起空指针异常。
注意.jpg
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
null
本文向大家介绍使用virtualenv创建Python环境及PyQT5环境配置的方法,包括了使用virtualenv创建Python环境及PyQT5环境配置的方法的使用技巧和注意事项,需要的朋友参考一下 一、写在前面 从学 Python 的第一天起,我就知道了使用 pip 命令来安装包,从学习爬虫到学习 Web 开发,安装的库越来越多,从 requests 到 lxml,从 Django 到
Butter Knife 是 Android 视图字段和方法绑定,使用注解处理来生成样板代码。 主要特性: 在字段使用 @FindView消除findViewById调用 使用 @FindViews在一个列表中分组多个视图 通过注解方法为监听者消除匿名 inner-classes 下载 下载最新的 JAR,或者是通过 Maven: <dependency> <groupId>com.jakewh
A Zen student went up to a hot dog vendor and said: "Make me one with everything". — Joke 环境背景很重要。 如果你想对 Puppet 的配置清单在应用到生产环境之前先进行测试, 你可以使用 Puppet 的 environment 特性来做到。 这可以让你根据环境应用不同的配置清单来设置客户机。例如,你可以定
本文向大家介绍Python 使用 environs 库定义环境变量的方法,包括了Python 使用 environs 库定义环境变量的方法的使用技巧和注意事项,需要的朋友参考一下 Environs是解析环境变量的Python库。它的开发受envparse启发,底层使用marshmallow验证并序列化值。 在运行一个项目的时候,我们经常会遇到设置不同环境的需求,如设置是开发环境、测试环境还是生产环
我的程序使用ZMQ进行通信。也就是说,服务器(C、linux)创建一个XPUB套接字,然后在一个线程中读取它,在另一个线程中发布数据(写入)。 客户端(java、jzmq、linux)创建一个SUB套接字,并订阅使用它。 一段时间后,服务器端在读取线程中接收SIGABRT。 什么可能是问题的根源?在不同的线程中读/写或创建XPUB/SUB对? 如果问题是在多线程中,那么使用XPUB套接字的正确范例