不操千曲而后晓声,观千剑而后识器。这篇文章主要讲述Android - 框架之ButterKnife的使用相关的知识,希望能为你提供帮助。
ButterKnife可以省去控件findViewById的步骤,提高开发效率。
用法:
1、添加依赖:
compile ‘com.jakewharton:butterknife:5.1.1‘
2、在Activity中使用:
public class MainActivity extends AppCompatActivity { // 使用ButterKnife初始化控件(省去了findViewById()方法的使用,提高了开发效率) @InjectView(R.id.tv) protected TextView tv; @InjectView(R.id.iv) protected ImageView iv; @InjectView(R.id.btn) protected Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 注册ButterKnife ButterKnife.inject(this); tv.setText("Hello TextView"); iv.setImageResource(R.mipmap.ic_launcher); }// 点击R.id.btn代表的控件时触发click()方法中的事件 @OnClick(R.id.btn) protected void click() { tv.setText("Button Clicked"); } }
【Android - 框架之ButterKnife的使用】
3、在Fragment中使用:
public class MainFragment extends Fragment { // 使用ButterKnife初始化控件(省去了findViewById()方法的使用,提高了开发效率) @InjectView(R.id.tv) TextView tv; @InjectView(R.id.iv) ImageView iv; @InjectView(R.id.btn) Button button; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_main, container, false); // 注册ButterKnife(在Fragment中使用ButterKnife需要指定一个Root View) ButterKnife.inject(this, view); return view; }@Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { tv.setText("Hello ButterKnife"); iv.setImageResource(R.mipmap.ic_launcher); }// 点击R.id.btn代表的控件时触发click()方法中的事件 @OnClick(R.id.btn) public void click() { tv.setText("Button Clicked"); } }
注意:不管是方法还是控件,只要标注了ButterKnife的注解,就不能用private或static修饰!!
推荐阅读
- Android - 框架之Retrofit+RxJava的使用
- Android权限管理原理(含6.0-4.3)
- android 4.4/5.1上使用aar的问题
- Android之图片加载框架Fresco基本使用
- Android - V之SwipeRefreshLayout的使用
- Android - 框架之Retrofit的使用
- Scala Varargs可变参数用法详细介绍和示例
- 算法题(使用递归生成所有可能的子序列)
- Bash程序检查Number是否为质数