今天再看别人代码的时候,看到了自己没见过的代码,看起来挺方便的,具体代码如下:
1 @InjectView(R.id.iv_left) 2 ImageView iv_left;
3 @InjectView(R.id.et_account) 4 EditText et_account; 5 6 ButterKnife.inject(this); 7 8 @OnClick(R.id.iv_left) 9 public void back() { 10 finish(); 11 }
观察发现和我们在xml文件中定义的控件有一定的关系,就去百度了一下,才知道是一种懒人框架,可以直接实例化控件,并且建立控件的点击监听事件,去学习使用的过程很曲折,不多说,直接说最简单的办法:
下面是自己使用的一个例子,看起来很直观,并且很省事:
1 public class LoginOneKeyActivity extends BaseActivity { 2 3 MyCountTimer timer; 4 5 @Bind(R.id.iv_left) 6 ImageView ivLeft; 7 @Bind(R.id.tv_title) 8 TextView tvTitle; 9 @Bind(R.id.et_phone) 10 EditText etPhone; 11 @Bind(R.id.et_verify_code) 12 EditText etVerifyCode; 13 @Bind(R.id.btn_send) 14 Button btnSend; 15 @Bind(R.id.btn_login) 16 Button btnLogin; 17 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.activity_login_onekey); 22 ButterKnife.bind(this); 23 ivLeft.setVisibility(View.VISIBLE); 24 tvTitle.setText("手机号码一键登录"); 25 } 26 27 @OnClick({R.id.iv_left, R.id.btn_send, R.id.btn_login}) 28 public void onClick(View view) { 29 switch (view.getId()) { 30 case R.id.iv_left:finish(); 31 break; 32 case R.id.btn_send:requestSMSCode(); 33 break; 34 case R.id.btn_login:oneKeyLogin(); 35 break; 36 } 37 }
可见,比原来使用findViewById方法来实例化控件方便了很多,并且可以直接生成点击事件,在里面写你要做的操作即可
原文:http://www.cnblogs.com/csschn/p/5296832.html