博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Butterknife 的简单使用 和 配合 Butterknife的插件 Zelezny
阅读量:6987 次
发布时间:2019-06-27

本文共 1695 字,大约阅读时间需要 5 分钟。

hot3.png

减少代码量

引入Butterknife 的依赖

implementation 'com.jakewharton:butterknife:9.0.0-rc3'    annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc3'

下面是官方提供的java示例

class ExampleActivity extends Activity {  @BindView(R.id.user) EditText username;  @BindView(R.id.pass) EditText password;  @BindString(R.string.login_error) String loginErrorMessage;  @OnClick(R.id.submit) void submit() {    // TODO call server...  }  @Override public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.simple_activity);    ButterKnife.bind(this);    // TODO Use fields...  }}

比如 注册TextView控件只需下面两行代码

@BindView(R.id.act_test_tv)    TextView textView;

实现按钮点击监听  

ButterKnife.bind(this); @OnClick(R.id.act_test_btn)    void clickBtn1(){       //此处为监听到点击后,执行的逻辑    }

下面是测试demo的代码, 布局文件为线性布局, 垂直排列的三个组件

java代码为: 

public class MainActivity extends AppCompatActivity {    //注册TextView控件    @BindView(R.id.act_test_tv)    TextView textView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //这句代码为使控件生效        ButterKnife.bind(this);    }    //用 @OnClick标识 括号内为按钮的id    //然后void 一个方法名, 方法体中即为监听执行的操作    @OnClick(R.id.act_test_btn)    void clickBtn1(){        Toast.makeText(this, "按钮被点击", Toast.LENGTH_SHORT).show();        textView.setText("点击事件执行完成");    }    //TextView控件点击监听事件    @OnClick(R.id.act_test_tv11)    void textOnClick(){        Toast.makeText(this, "文本被点击了", Toast.LENGTH_SHORT).show();    }}

下面我们来安装插件 

打开Android Studio 的设置

35eae1dac35b5ee1810c9fdf763e4fd7146.jpg

3d5a2be37ec3630b9b2b94a9f4555f902dc.jpg

安装完成后 重启Android Studio使插件生效

16336aaf4b0741165809bb1056c6083e057.jpg

958d964a4472cdad1e2e619c4149b924143.jpg

他会自动识别我们布局里已经定义了ID的控件 点击confirm

e99dd3805f6b50ee73ad9b3a02a66c2d916.jpg

转载于:https://my.oschina.net/lanyu96/blog/2991821

你可能感兴趣的文章
linux解压war包的命令
查看>>
MyQThread new
查看>>
js的继承
查看>>
SOCKET用法详解
查看>>
struts2中的OGNL详解
查看>>
C++的虚函数
查看>>
C++11的新特性:右值引用
查看>>
memcache和redis的区别
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
spring xml配置文件根元素(文件头文件)说明
查看>>
windows ssh RPi 2B
查看>>
Git常用命令
查看>>
异常,File,递归,IO流
查看>>
百度地图、ECharts整合HT for Web网络拓扑图应用
查看>>
Unity查找子物体的方式-怎么查找GameObject
查看>>
大数据学习系列之三 ----- HBase Java Api 图文详解
查看>>
cookie和session
查看>>
关于前端复用的构思
查看>>
微信小程序连接本地接口(转)
查看>>
小白的正则表达式学习之旅-02
查看>>