Butter Knife框架的基本使用
来源:互联网 发布:原始传奇光翼进阶数据 编辑:程序博客网 时间:2024/05/16 17:27
写这篇博客主要是因为看到下面的代码感觉一阵的恶心:
关于Butter Knife的介绍地址http://jakewharton.github.io/butterknife/
lvRoom = rootView.findViewById(R.id.lv_room); tvGradeOne = rootView.findViewById(R.id.grade_one1); tvGradeTwo = rootView.findViewById(R.id.grade_two1); tvGradeThree = rootView.findViewById(R.id.grade_three1); tvGradeFour = rootView.findViewById(R.id.grade_four1); tvGradeFive = rootView.findViewById(R.id.grade_five1); tvGradeSix = rootView.findViewById(R.id.grade_six1); ivBack = rootView.findViewById(R.id.iv_back1); iv1 = rootView.findViewById(R.id.ib1); iv2 = rootView.findViewById(R.id.ib2); iv3 = rootView.findViewById(R.id.ib3); iv4 = rootView.findViewById(R.id.ib4); iv5 = rootView.findViewById(R.id.ib5); iv6 = rootView.findViewById(R.id.ib6); ivCreateRoom = rootView.findViewById(R.id.iv_create_room); ivFindRoom = rootView.findViewById(R.id.iv_find_room); ivFastJoin = rootView.findViewById(R.id.iv_fast_join); tvGradeOne.setOnClickListener(this); tvGradeTwo.setOnClickListener(this); tvGradeThree.setOnClickListener(this); tvGradeFour.setOnClickListener(this); tvGradeFive.setOnClickListener(this); tvGradeSix.setOnClickListener(this); ivBack.setOnClickListener(this); iv1.setOnClickListener(this); iv2.setOnClickListener(this); iv3.setOnClickListener(this); iv4.setOnClickListener(this); iv5.setOnClickListener(this); iv6.setOnClickListener(this); ivCreateRoom.setOnClickListener(this); ivFastJoin.setOnClickListener(this); ivFindRoom.setOnClickListener(this);
相信大家看到这种代码都会感觉一阵恶心吧(嘿嘿,但是这又是省不了的)
所以遇到这样的能咋办呢。所以就可以用到Butter Knife框架了。
使用方法先把依赖加上:
compile 'com.jakewharton:butterknife:8.8.1'annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
然后布局的时候该怎么布局还是怎么布局,只不过声明控件的时候不需要使用findviewbyid了,直接使用
@BindView(R.id.textView4) MyTextView tv4;
这样也就声明了一个view
点击事件的话直接用
@OnClick(R.id.textView4) public void click(View v) { Toast.makeText(getActivity(), "sss", Toast.LENGTH_SHORT).show(); }
这样也就给该控件配置了监听器
还有各种监听的使用,在这里我就不多提了依葫芦画瓢就行了。
ButterKnife.bind(this, v);
最容易忘记的就是这句代码了,在初始化的时候加上这句代码就OK了。
在activity中调用ButterKnife.bind(this);
在Fragment中调用ButterKnife.bind(this, v);
然后你就会发现那些恶心的代码没有了 看起来也顺眼多了(嘿嘿!!!)
下面是代码:
public class Fragment8 extends Fragment { @BindView(R.id.textView4) MyTextView tv4; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment8, container, false); ButterKnife.bind(this, v); return v; } @OnClick(R.id.textView4) public void click() { Toast.makeText(getActivity(), "sss", Toast.LENGTH_SHORT).show(); }}
布局:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mrl" android:layout_width="match_parent" android:layout_height="match_parent"> <com.dgg1.demo.MyRelativeLayout android:layout_width="100dp" android:layout_height="100dp" android:layout_centerInParent="true" android:background="#00ff00"> <com.dgg1.demo.MyTextView android:id="@+id/textView4" android:layout_width="100dp" android:layout_height="100dp" android:background="#fff000" /> </com.dgg1.demo.MyRelativeLayout></RelativeLayout>
如有错误请留言
阅读全文
0 0
- Butter Knife框架的基本使用
- butter knife框架的使用
- Butter Knife(黄油刀)的基本使用
- Butter Knife的使用
- Butter Knife 的使用
- Butter Knife的使用
- Butter Knife的使用
- android依赖注入框架Butter Knife的使用。
- Butter Knife 实用的注解框架
- 注解框架Android Butter Knife的介绍
- Butter Knife的配置和使用
- 关于Butter Knife 的使用以及配置
- Butter Knife 的简介和使用
- Butter Knife使用教程
- Butter Knife使用笔记
- 使用Butter Knife
- Butter-Knife使用
- Butter Knife 详细使用
- 解密Nmon的强功能
- vi格式整体缩进
- php万年历
- linux下用tomcat部署java web
- 服务器部署
- Butter Knife框架的基本使用
- idea远程调试Linux上的Tomcat代码
- POJ
- c# 异步编程(async + await + HttpClient)
- hdu 1875 Prim
- 响应式头部
- QML的Window与ApplicationWindow
- 使用Apache的虚拟主机以及代理搞定多个网站的子域名(包括跨域情况)解析问题
- Android将图上以base64编码的格式上传到node.js服务器并保存