zoukankan      html  css  js  c++  java
  • 【Android

      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");
        }
    }
    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深入透析》之广播(Broadcast)
    曾经的程序员-《30岁的程序员,你迷惘了吗?》
    30岁的程序员,你迷惘了吗?
    Android: 详解触摸事件如何传递
    关于HTML5服务器发送事件(SSE)
    Android: 在onCreate()中获得对象尺寸
    jxl教程图文详解
    相当牛X的java版星际游戏
    程序员的无奈(十二):终于获得了投资
    图览各编程语言中敲击最多的键
  • 原文地址:https://www.cnblogs.com/itgungnir/p/6210858.html
Copyright © 2011-2022 走看看